Articles of http post

如何在Android中执行HTTP发布?

我是Android应用程序开发的新手,我需要的是我有两个文本框用户名和密码,它将发布到服务器并使用PHP页面与数据库检查,如果登录成功然后转到下一个屏幕,否则显示一个消息框显示登录错误我该怎么办? public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://google.com”); EditText tw =(EditText) findViewById(R.id.EditText01); try { // Add your data List nameValuePairs = new ArrayList(2); nameValuePairs.add(new BasicNameValuePair(“id”, “12345”)); nameValuePairs.add(new BasicNameValuePair(“stringdata”, “AndDev is Cool!”)); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response […]

Android:通过Http POST发送一个byte 数组

我能够对参数字符串进行POST。 我使用以下代码: String parameters = “firstname=john&lastname=doe”; URL url = new URL(“http://www.mywebsite.com”); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestProperty(“Content-Type”,”application/x-www-form-urlencoded”); connection.setRequestMethod(“POST”); OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream()); out.write(parameters); out.flush(); out.close(); connection.disconnect(); 但是,我需要对二进制数据进行POST(以byte []的forms)。 不知道如何更改上面的代码来实现它。 有人可以帮我这个吗?

Android:使用MultiPartEntityBuilder上传Image和JSON

我尝试将数据上传到服务器,我的数据包含多个图像和大型JSON ,在它之前,我尝试使用base64将转换图像发送到字符串并发送我之前使用JSON转换的另一个数据和图像,但我面对问题OutOfMemory在这里,所以我读了一个解决方案,说我必须尝试使用MultipartEntityBuilder 。 我仍然感到困惑,不明白如何使用MultiPartEntityBuilder ,是否有人可以帮助我使用MultiPartEntityBuilder做到这一点? 这是我的代码: try{ //membuat HttpClient //membuat HttpPost HttpPost httpPost= new HttpPost(url); SONObject jsonObjectDP= new JSONObject(); System.out.println(“file audio “+me.getModelDokumenPendukung().getAudio()); jsonObjectDP.put(“audio_dp”,MethodEncode.EncodeAudio(me.getModelDokumenPendukung().getAudio())); jsonObjectDP.put(“judul_audio”,me.getModelDokumenPendukung().getJudul_audio()); jsonObjectDP.put(“ket_audio”,me.getModelDokumenPendukung().getKet_audio()); JSONArray ArrayFoto= new JSONArray(); //This loop For my multiple File Images ListListFoto=me.getModelDokumenPendukung().getListFoto(); for (int i=0; i<ListFoto.size();i++) { JSONObject jsonObject= new JSONObject(); jsonObject.put("foto", ListFoto.get(i).getFile_foto()); jsonObject.put("judul_foto", ListFoto.get(i).getJudul_foto()); jsonObject.put("ket_foto", ListFoto.get(i).getKet_foto()); ArrayFoto.put(jsonObject); } JSONObject […]

为异步FormUrlEncoded DELETE调用改进抛出IllegalArgumentExceptionexception

我正在尝试创建一个异步POST和DELETE,它是使用Android 4.4中的Retrofit编码的url格式 这是我的客户 – @FormUrlEncoded @POST(INetwork.API_BASE_PREFIX + “/memberships.json”) void join(@Field(“id”) String id, Callback cb); @FormUrlEncoded @DELETE(INetwork.API_BASE_PREFIX + “/memberships.json”) void leave(@Field(“id”) String id, Callback cb); 这是例外 – java.lang.IllegalArgumentException: IRepositoryClient.leave: FormUrlEncoded can only be specified on HTTP methods with request body (eg, @POST). at retrofit.RestMethodInfo.methodError(RestMethodInfo.java:118) at retrofit.RestMethodInfo.parseMethodAnnotations(RestMethodInfo.java:191) at retrofit.RestMethodInfo.init(RestMethodInfo.java:128) at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:329) at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:264) at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:315) at retrofit.CallbackRunnable.run(CallbackRunnable.java:42) […]

在Android上,使用URL编码表单数据发出POST请求,而不使用UrlEncodedFormEntity

我有一个已经采用正确的URLEncoded Form格式的字符串,并希望通过Android上的POST请求将其发送到PHP服务器。 我知道在Android上发送URL编码表单的方法使用UrlEncodedFormEntity ,我知道如何使用它 。 问题是数据已经进入已编码的函数并由&符号加入,因此使用UrlEncodedFormEntity将需要大量额外工作才能将其转换为NameValuePairs List ,而我宁愿不这样做。 那么,如何发送一个正确的POST请求发送此字符串作为内容正文? 我已经尝试过使用StringEntity ,但是PHP服务器没有获得任何数据(空$_POST对象)。 我正在测试http://test.lifewanted.com/echo.json.php <?php echo json_encode( $_REQUEST ); 以下是已编码数据的示例: partnerUserID =电子邮件%40example.com&partnerUserSecret =输入mypassword&命令=身份validation

Android错误:MultipartEntity,客户端发送的请求在语法上是不正确的

我想通过安全的restful web服务发送歌曲(mp3 / wav)文件和一些数据。 我正在使用MultipartEntity来发出HttpPost请求。 但是当我通过HttpClient执行它时,服务器会回复此错误 HTTP状态400 – 错误请求types:状态报告消息:错误请求客户端发送的请求在语法上不正确(错误请求)。 但是,如果我们从Web界面调用它,那么该服务的效果非常好。 请帮忙 它的代码 HttpClient httpclient = new DefaultHttpClient(); HttpPost postRequest = new HttpPost(); try { MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart(“email”, new StringBody(“test@testmail.com”)); reqEntity.addPart(“password”, new StringBody(“123”)); reqEntity.addPart(“title”, new StringBody(“My new song”)); reqEntity.addPart(“musicData”, new FileBody(new File(FilePath))); // FIlePath is path to file and contains correct file location […]

在Android上使用HttpPost和DefaultHttpClient时出现身份validation错误

我正在使用HttpClient遇到一个奇怪的问题。 我正在使用带有HttpPost的DefaultHttpClient()。 我正在使用HttpGet 100%成功但现在尝试切换到HttpPost,因为我正在使用的REST API需要POST参数而不是GET。 (仅限于一些API调用,所以我知道GET调用工作正常,因此它不是API的错误)。 此外,我尝试在我编写的一个简单的PHP脚本上使用HttpPost查找POST参数’var’并将其回显到屏幕,传递此参数如下工作正常: List nameValuePairs = new ArrayList(); postMethod = new HttpPost(“http://www.examplewebsite.com”); nameValuePairs.add(new BasicNameValuePair(“var”, “lol”)); try { postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs)); response = httpClient.execute(postMethod, responseHandler); Log.i(“RESTMethod”, response); … 问题是,当我尝试对API执行相同的调用时(但是明显将params更改为API参数),我收到以下错误: Authentication error: Unable to respond to any of these challenges: {} 我请求的页面是一个HTTPS页面,这可能是问题吗? 但是对API上的原始HTTP页面执行相同types的POST请求会产生相同的错误,除非我注释掉StringEntity部分然后它运行(但返回xml并且我想传递一个参数来请求JSON中的数据) 。 这似乎是一个非常奇怪的问题(非https部分),但无法真正find任何有关此问题的帮助,所以很抱歉,如果答案在那里。 有任何想法吗? 提前致谢, Infinitifzz 编辑:好的,我无处可去,所以我想如果我引导你进入API,它可能会有所帮助,这是8Tracks API ,你可以看到你需要为所有请求传递一个开发键(api_key)而我的部分我坚持使用https来记录用户: http : //www.8tracks.com/sessions.xml […]

目标主机不能为空,或者在参数中设置

我收到此错误“目标主机不能为空,或在参数中设置”。 我的清单文件设置了互联网权限,我在我的url之前添加了“http://”。 它仍然会给出相同的错误。 我的url没有“www”。 附在它上面。 我的代码的一部分: HttpPost post = new HttpPost(“http://infocreation.something_something1.xml”); 我的部分清单如下: 现在我该怎么做?

如何使用Android中的Volley库上传文件?

我已经有一个Request子类用于http发送到服务器。 问题是,我不知道如何为文件添加参数。 将字符串发布到服务器很容易。 但我需要将文件添加为不同的参数。 我该怎么做? public class AddNewPetRequest extends Request { private Response.Listener listener; public AddNewPetRequest(String url, Map params, Response.Listener reponseListener, Response.ErrorListener errorListener) { super(Request.Method.GET, url, errorListener); this.listener = reponseListener; this.params = params; } public AddNewPetRequest(int method, String url, Map params, Response.Listener reponseListener, Response.ErrorListener errorListener) { super(method, url, errorListener); this.listener = reponseListener; this.params = params; […]

如何在没有请求主体的情况下发出OKHTTP发布请求?

在okhttp库中没有请求主体的情况下制作OkHTTP发布请求的可能方法?