html post 图片,如何发送图片作为多部分POST请求的一部分 - Java HtmlUnit
我正嘗試使用Java將驗(yàn)證碼提交給decaptcher.com。 Decaptcher并沒有很好的解釋如何使用他們的API,所以我想弄清楚如何使用HTTP POST請(qǐng)求來(lái)提交驗(yàn)證碼。下面是示例代碼,我從他們的網(wǎng)站有:如何發(fā)送圖片作為多部分POST請(qǐng)求的一部分 - Java HtmlUnit
method="post"
action="http://poster.decaptcher.com/"
enctype="multipart/form-data">
我應(yīng)該發(fā)送POST請(qǐng)求一樣,到Web服務(wù)器,并得到一個(gè)字符串返回給我。這是我嘗試在Java中實(shí)現(xiàn)的。
public String getDecaptcherAnswer(String username, String password){
try{
URL decaptcherPostURL = new URL("http://poster.decaptcher.com/");
WebRequestSettings request = new WebRequestSettings(decaptcherPostURL, HttpMethod.POST);
request.setEncodingType(FormEncodingType.MULTIPART);
ArrayList params = new ArrayList();
params.add(new NameValuePair("function", "picture2"));
params.add(new NameValuePair("username", username));
params.add(new NameValuePair("password", password));
//I added this block in
File file = new File("captcha.png");
params.add(new KeyDataPair("pict", capFile, "png", "utf-8"));
//----------------------
params.add(new NameValuePair("pict_to", "0"));
params.add(new NameValuePair("pict_type", "0"));
request.setRequestParameters(params);
request.setUrl(decaptcherPostURL);
HtmlPage page = webClient.getPage(request);
System.out.println(page.asText());
System.out.println("--------------------------------------");
System.out.println(page.asXml());
return page.asText();
}catch (Exception e){
e.printStackTrace();
return null;
}
}
我應(yīng)該將pict的值設(shè)置為File對(duì)象而不是指向captcha存儲(chǔ)位置的String? (captcha.png是我想提交的圖像的名稱)。
2010-08-01
Dylan
總結(jié)
以上是生活随笔為你收集整理的html post 图片,如何发送图片作为多部分POST请求的一部分 - Java HtmlUnit的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求一个好听可爱的英文名字
- 下一篇: 个性艺术签名