Android Jsoup发布请求到ASPX页面总是得到500错误

时间:2015-12-08 17:03:02

标签: android asp.net jsoup

我想开发停车费应用程序,因此我必须解析网站上的一些数据。我尝试了几个网站并取得了成功,但我总是在webpage中收到500错误 以下是我的代码

Connection.Response resource = Jsoup.connect("http://tcparking.taichung.gov.tw/Parking/Parking/ParkingFee.aspx")
    .method(Connection.Method.GET)
    .execute();
Document document = Jsoup.connect("http://tcparking.taichung.gov.tw/Parking/Parking/ParkingFee.aspx")
    .data("__VIEWSTATE", resource.parse().getElementById("__VIEWSTATE").val())
    .data("__EVENTVALIDATION", resource.parse().getElementById("__EVENTVALIDATION").val())
    .data("ctl00$ContentPlaceHolder1$car_no", "ALZ-3586")
    .data("ctl00$ContentPlaceHolder1$CarType", "C")
    .data("__EVENTTARGET:", "")
    .data("__EVENTARGUMENT:", "")
    .data("__VIEWSTATEENCRYPTED:", "")
    .header("Content-Type", "application/x-www-form-urlencoded")
    .cookies(resource.cookies())
    .post();

然而,我总是得到

W/System.err: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=500, URL=http://tcparking.taichung.gov.tw/Parking/Parking/ParkingFee.aspx
W/System.err:     at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:537)
W/System.err:     at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:493)
W/System.err:     at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205)
W/System.err:     at com.lai.smith.parkingfee.asyncparse.AsyncTaizhong.doInBackground(AsyncTaizhong.java:54)
W/System.err:     at com.lai.smith.parkingfee.asyncparse.AsyncTaizhong.doInBackground(AsyncTaizhong.java:23)
W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:288)
W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/System.err:     at java.lang.Thread.run(Thread.java:841)

与此同时,我可以使用Chrome扩展程序成功访问该网站 - postman
--------------------------- PIC1 ---------------------- ------

enter image description here

--------------------------- PIC2 ------------------- ---------

enter image description here

我尝试在jsoup中添加所有内容,就像我在邮递员中添加的内容一样,但我仍然得到500错误,任何人都可以帮我弄清楚出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

表单数据中存在错误。三个数据参数末尾有一个无效的colon。因此,ASP.Net服务器无法找到参数__EVENTTARGET__EVENTTARGET__VIEWSTATEENCRYPTED

替换以下三行

.data("__EVENTTARGET:", "")
.data("__EVENTARGUMENT:", "")
.data("__VIEWSTATEENCRYPTED:", "")

.data("__EVENTTARGET", "")
.data("__EVENTARGUMENT", "")
.data("__VIEWSTATEENCRYPTED", "")

我使用此调整测试了您的原始代码,并且对ASPX页面的Jsoup发布请求现在获得了200 OK代码。