Tag: http post

如何使用Apache HttpComponentst创建和发布多部分/混合http请求?

我正在使用Apache HttpComponents v4.3.3(maven httpclient和httpmime)。 我需要上传一个包含一些元数据的文件。 curl命令可以工作,如下所示。 curl -k -i -H“Content-Type:multipart / mixed”-X POST –form’field1 = val1′-form’field2 = val2′-form’file =@somefile.zip; type = application / zip’https://www.some.domain/ 我试过模仿这个curl的post如下。 HttpEntity entity = MultiPartEntityBuilder .create() .addPart(“field1”,new StringBody(“val1”,ContentType.TEXT_PLAIN)) .addPart(“field2”,new StringBody(“val2”,ContentType.TEXT_PLAIN)) .addPart(“file”, new FileBody(new File(“somefile.zip”), ContentType.create(“application/zip”)) .build(); HttpPost post = new HttpPost(“https://www.some.domain”); post.addHeader(“Content-Type”, “multipart/mixed”); 但是,在我使用HttpClient执行HttpPost之后,我得到以下exception(服务器代码也是在Jetty上运行的Java)。 org.apache.commons.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界 当我添加一个曲线curl curl –trace – -k -i […]

Fiddler没有从Java应用程序捕获HTTP请求

我目前正在编写一个java应用程序,它使用HTTP POST将csv文件和一些其他参数上传到服务器。 服务器不断向我的应用程序返回500个错误,我想在Fiddler中查看HTTP请求,以便我可以看到POST请求。 当我运行Fiddler时,它不会捕获来自Java应用程序的任何HTTP流量。 我写了一个有效的GET请求,所以我知道我可以与服务器通信,但是没有通过Fiddler显示流量。

SpringMVC HTTP状态405 – 不支持请求方法“POST”

我有一个表单,我从该表单查询数据库,并发布到另一个页面与结果。 然后我从查询结果中选择一条记录,它将我带回到我进行查询的页面,以便我可以更新记录。 我点击更新,它将我带回控制器并使用相同的方法首先调用查询,但是请求的参数现在是’更新’,所以假设转到方法中的更新条件。 好像我无法将页面重新提交到相同的url映射。 调节器 @RequestMapping(value=”citizen_registration.htm”, method = RequestMethod.POST) public ModelAndView handleRequest(@Valid @ModelAttribute Citizens citizen, BindingResult result, ModelMap m, Model model, @RequestParam(value=”user_request”) String user_request) throws Exception { try{ logger.debug(“In Http method for CitizenRegistrationController – Punishment Registration”); logger.debug(“User Request Is ” + user_request); if(result.hasErrors()){ //handle errors // return new ModelAndView(“citizen_registration”); }else{ //check if its a save […]

如何在请求filter中获取表单参数

我正在尝试在请求filter中获取请求的表单参数: @Override public ContainerRequest filter(final ContainerRequest request) { final Form formParameters = request.getFormParameters(); //logic return request; } 但是,表格似乎总是空的。 HttpRequestContext.getFormParameters()文档说: 获取请求实体的表单参数。 此方法将确保缓冲请求实体,以便应用程序可以使用它。 返回:表单参数,如果有请求实体且内容类型为“application / x-www-form-urlencoded”,否则将返回不包含参数的实例。 我的资源是用@Consumes(“application/x-www-form-urlencoded”)注释的,虽然它在请求filter之后才会匹配 – 这就是为什么这不起作用? 我尝试做一些研究,但未能找到任何确凿的证据certificate这是否可行。 有这个为期4年的讨论 ,Paul Sandoz说: 如果您正在使用Jerseyfilter或使用HttpRequestContext您可以获得如下表单参数:[到Jersey 1.1.1的断开链接HttpRequestContext.getFormParameters ] 我还发现了这个有关如何在请求filter中获取multipart / form-data表单字段的3年讨论 。 其中,Paul Sandoz使用以下代码: // Buffer InputStream in = request.getEntityInputStream(); if (in.getClass() != ByteArrayInputStream.class) { // Buffer input ByteArrayOutputStream […]

Java Server – 使用POST发送Push到Google Firebase Cloud

在我测试推送通知正在与Postman合作时,我想在我的应用程序中发送消息时向FCM发送推送请求。 调用的函数将转到我的Java服务器并调用如下函数: @POST @Consumes(MediaType.APPLICATION_JSON) public Response sendMsg(Message m) throws ExceptionFacade { … } 因此,每次调用此函数时,我都希望使用json向https://fcm.googleapis.com/fcm/send发送POST请求。 我想知道是否已经为java服务器准备好了代码? 还有一些帮助如何实现它。 另外我不明白我是否可以使用php文件来执行此操作(我发现这样的内容https://github.com/Paragraph1/php-fcm )。 我正在使用angularjs。 感谢你们 !

在Web服务中使用JSON字节数组和application / x-www-form-urlencoded

有3个问题。 我正在使用Java Restful webservices并且请求是HTTP POST 客户端如何发送JSON数据以及application / x-www-form-urlencoded的MediaType。 是否可以使用字节数组? 如何使用在服务器端以byte []格式发送的JSON数据以及application / x-www-form-urlencoded的MediaType? 我可以使用Postman客户端以字节数组格式发送JSON吗?

使用Java URLConnection进行Cookie管理

我对Android编程很新,最近获得了成功的HTTP Post请求,只是为了得知我的cookie没有存储在后续的Post / Get请求之间。 我浏览了一下interweb,并找到了Android的Apache客户端和Java的HttpURLConnection的几个例子。 我没有成功地将这两种方法应用到我当前的课程中,所以我想知道有经验的人是否可以查看我的代码并提供建议。 概括: 我的初始POST请求成功并经过身份validation。 我的第二个POST请求不会保留初始POST请求中的cookie。 是否有人为可能选择Apache方法或Java实现的具体实例或原因? 两者都是平等的,还是一个提供比另一个更多的能力和灵活性? 感谢任何帮助,谢谢。 webCreate.java import android.util.Log; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.CookieHandler; import java.net.CookieManager; import java.net.HttpCookie; import java.net.HttpURLConnection; import java.net.URL; import javax.net.ssl.HttpsURLConnection; public class webCreate { private final String USER_AGENT = “Mozilla/5.0”; // HTTP GET request public void sendGet(String url) throws Exception { CookieManager […]

如何使用httpPost将数据发送到网站,应用程序崩溃

目前我正在开展一个项目。 我需要从我的Android应用程序发送一些数据到网络服务器。 但当我触摸发送按钮时,应用程序崩溃了。 这是我的.java文件 package com.androidexample.httppostexample; import java.io.IOException; import org.apache.http.client.ClientProtocolException; import java.util.ArrayList; import java.util.List; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class HttpPostExample extends Activity { Button sendButton; EditText msgTextField; /** Called when the activity is first […]

使用JSON对象作为有效负载对REST API的POST请求

我正在尝试使用具有JSON有效负载的POST请求从REST API获取JSON响应(应在发送之前转换为URL编码文本)。 我已经按照一些教程来实现该过程,但是我收到状态码400的错误。我可能没有编码给定的JSON字符串或遗漏了某些东西。 请帮我解决这个问题。 谢谢。 这是我的代码 try { URL url = new URL(“https://appem.totango.com/api/v1/search/accounts/health_dist”); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod(“POST”); conn.setRequestProperty(“Content-Type”, “application/json”); conn.setRequestProperty(“app-token”, “1a1c626e8cdca0a80ae61b73ee0a1909941ab3d7mobile+testme@totango.com”); conn.setRequestProperty(“Accept”, “application/json, text/javascript, */*; q=0.01”); conn.setRequestProperty(“X-Requested-With”,”XMLHttpRequest”); String payload = “{\”terms\”:[{\”type\”:\”totango_user_scope\”,\”is_one_of\”:[\”mobile+testme@totango.com\”]}],\”group_fields\”:[{\”type\”:\”health\”}]}”; OutputStream os = conn.getOutputStream(); os.write(payload.getBytes()); os.flush(); if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) { throw new RuntimeException(“Failed : HTTP error code : ” + […]

通过HTTP POST上传文件

我想使用HTTP POST将文件(特定于图像)上传到REST服务器。 我已经导入/添加到构建路径httpmime-4.3.1.jar和apache-mime4j-0.6.jar 。 我在堆栈跟踪中得到以下错误。 这有效吗? post.setHeader(“enctype”, “multipart/form-data”); HTTP POST代码 public void multiPartPost() throws ClientProtocolException, IOException { File image = new File(EXTERNALSTORAGE + “/Pictures/sample.jpg”); FileBody fileBody = new FileBody(image); HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); post.setHeader(“enctype”, “multipart/form-data”); MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create(); multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); multipartEntity.addPart(“sampleImage”, fileBody); post.setEntity(multipartEntity.build()); HttpResponse response = client.execute(post); String responseBody […]