需下载文件是图片类型(JPG)和其他类型(SEP)。
POST提交PostData到服务器返回文件byte数组。
需下载的文件是3M多,byte数组Length至少3145728,但返回byte数组Length仅区区3000,差得太多。开Fiddler捕获这个请求,在Fiddler的WebView选项卡呈现了一个500错误的页面。
我在PostData里排查有问题的参数。经过多次抓包对比,发现其中有两个参数可有可无,其中一个值只有一个加号,另一个值仅用于控制页面呈现效果。于是将这两个参数的值去掉,再次POST发现byte数组Length已正常。
造成本次POST下载文件服务器返回500错误的原因就是PostData里带有服务器无法处理的参数值,于是抛出了500内部服务器错误。
此外,两次请求使用的UserAgent值不同也可能会抛出500内部服务器错误。