我是Android开发的新手,现在我需要创建和使用POST请求。据此post 我试图提供我的数据:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(13);
nameValuePairs.add(new BasicNameValuePair("SelectedCode", "25"));
nameValuePairs.add(new BasicNameValuePair("Phone", "1234567"));
nameValuePairs.add(new BasicNameValuePair("Text", "1234"));
nameValuePairs.add(new BasicNameValuePair("IsTranslit", "false"));
nameValuePairs.add(new BasicNameValuePair("IsShedule", "false"));
nameValuePairs.add(new BasicNameValuePair("LastDate", ""));
nameValuePairs.add(new BasicNameValuePair("LastDateHour", "00"));
nameValuePairs.add(new BasicNameValuePair("LastDateMinuts", "00"));
nameValuePairs.add(new BasicNameValuePair("DateSendBefore", ""));
nameValuePairs.add(new BasicNameValuePair("DateSendBeforeHour", "00"));
nameValuePairs.add(new BasicNameValuePair("DateSendBeforeMinuts", "00"));
nameValuePairs.add(new BasicNameValuePair("CaptchaDeText", "h3Vcjwk2moLagspo7lnKpg%3D%3D"));
nameValuePairs.add(new BasicNameValuePair("CaptchaInputText", "4myin2"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
但是它不起作用。然后我尝试使用这段代码(抱歉排长队)
httppost.setEntity(new StringEntity("SelectedCode=25&Phone=1234567&Text=123&IsTranslit=false&IsShedule=false&LastDate=&LastDateHour=00&LastDateMinuts=00&DateSendBefore=&DateSendBeforeHour=00&DateSendBeforeMinuts=00&CaptchaDeText=h3Vcjwk2moLagspo7lnKpg%3D%3D&CaptchaInputText=4myin2"));
可行。 有人可以解释什么是差异或我做错了什么?
更新:
通过不工作我的意思是服务器无法识别此帖子请求是正确的。例如,如果我在NameValuePair列表中添加不正确的值,就会发生这种情况。但是从我的名字和第一段代码的价值和第二段是相同的。这让我很奇怪。
答案 0 :(得分:1)
vmirionov的comment解决了这个问题。将h3Vcjwk2moLagspo7lnKpg%3D%3D
更改为h3Vcjwk2moLagspo7lnKpg==
就可以了。