Articles of http post

如何禁用Volley请求重试?

我将JsonRequest发布到服务器。 服务器很慢。 Volley倾向于对慢速服务器进行多次调用,因为它没有得到第一个请求的响应(因为我的服务器很慢)。 有没有办法禁止Volley重试请求,以便它可以收到第一个响应? 我努力了: myRequest.setRetryPolicy(new DefaultRetryPolicy( TIMEOUT_MS, RETRIES, BACKOFF_MULT)); 我已经替换了TIMEOUT_MS = 0,RETRIES = 0,甚至BACKOFF_MULT = 0,但它不起作用。 还有其他建议吗?

弃用的HTTP类Android棒棒糖5.1

Android 5.1中已弃用org.apache.http类和AndroidHttpClient类。 这些类不再被维护,您应该尽快使用这些API将任何应用程序代码迁移到URLConnection类。 https://developer.android.com/about/versions/android-5.1.html#http 它建议切换到URLConnection类。 没有足够的文件记录如何从应用程序进行发布呼叫。 目前我正在使用这个 public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://www.yoursite.com/script.php”); try { // Add your data List nameValuePairs = new ArrayList<NameValuePair(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request […]

Android设置内容types为HttpPost

如何在android中更改HttpPost的内容types? 对于请求,我需要将内容types设置为application / x-www-form-urlencoded 所以我得到了这段代码: httpclient=new DefaultHttpClient(); httppost= new HttpPost(url); StringEntity se = new StringEntity(“”); se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, “application/x-www-form-urlencoded”)); httppost.setEntity(se); 但这并没有成功,我无法在任何地方find解决方案。 干杯

如何打印httprequest请求的内容?

我有一个涉及httprequest的错误,有时会发生这种错误,因此我想在发生这种情况时记录HttpGet和HttpPost请求的内容。 所以,让我们说,我创建像这样的HttpGet: HttpGet g = new HttpGet(); g.setURI(new URI(“http://www.google.com”)); g.setHeader(“test”, “hell yeah”); 这是我想要的字符串表示: GET / HTTP/1.1 Host: www.google.com test: hell yeah 有了post请求,我还想获得内容字符串。 在java for android中最简单的方法是什么?

我需要Android中的HttpClient替代选项,以便将数据发送到PHP,因为它不再受支持

目前我正在使用HttpClient , HttpPost从Android app向我的PHP server发送数据,但所有这些方法在API 22中已弃用并在API 23中删除,那么它的替代选项有哪些? 我到处搜索,但我没有find任何东西。

在Android中的WebView的HTTP POST响应

我正尝试使用HTTP Post连接到该页面。 我做了一个http post创build一个webview。 我需要从webviewredirect到另一个页面。 但是当继续button被点击时,exception被抛出。 我的代码是 public class ZHttpPostProjActivity extends Activity { /** Called when the activity is first created. */ private WebView mWebView; private ProgressDialog progressBar; private static final String TAG = "ZHttpPostProjActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_view); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDomStorageEnabled(true); progressBar = […]

执行http POST将返回HTML而不是JSON

编辑完全重新工作的问题,以更好的理解 我必须使用2个POST参数来查询给定的URL http://api.bf3stats.com/pc/player/ '(玩家名称)和'opt'(用于选项)。 我已经在http://www.requestmaker.com/上用以下数据testing了它: player=Zer0conf&opt=all 。 我得到一个正确的JSON响应(以为我不知道他们的网站如何执行查询,我想这是PHP)。 现在我试图在Android中做同样的事情: private StringBuilder inputStreamToString(InputStream is) { //this method converts an inputStream to String representation String line = ""; StringBuilder total = new StringBuilder(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); try { while ((line = rd.readLine()) != null) { total.append(line); } } catch (IOException e) { // TODO […]

如何发送数组/列表与改造

我需要发送一个列表/整数值的数组与改造服务器(通过POST)我这样做: @FormUrlEncoded @POST("/profile/searchProfile") Call<ResponseBody> postSearchProfile( @Field("age") List<Integer> age }; 并像这样发送: ArrayList<Integer> ages = new ArrayList<>(); ages.add(20); ages.add(30); ISearchProfilePost iSearchProfile = gsonServerAPIRetrofit.create(ISearchProfilePost.class); Call<ResponseBody> call = iSearchProfile.postSearchProfile( ages ); 问题是,值到达服务器而不是逗号分隔。 所以那里的价值就像年龄:2030而不是年龄:20,30 。 我正在阅读(例如在这里https://stackoverflow.com/a/372​​54442/1565635 ),有些已经成功地通过使用[]像数组一样写入参数,但是只会导致名为age []:2030的参数。 我也尝试使用数组以及与string列表。 同样的问题。 一切都直接来自一个条目。 那我能做什么?

ByteArrayOutputStream到FileBody

我有一个Uri图像,这个图像是从Gallery中选取的,我想加载并压缩成75%质量的JPEG格式。 我相信我已经用下面的代码实现了这一点: ByteArrayOutputStream bos = new ByteArrayOutputStream(); Bitmap bm = BitmapFactory.decodeFile(imageUri.getPath()); bm.compress(CompressFormat.JPEG, 60, bos); 不是我把它塞进一个名为bos的ByteArrayOutputStream我需要将它添加到一个MultipartEntity中,以便将它HTTP POST到一个网站上。 我无法弄清楚如何将ByteArrayOutputStream转换为FileBody。

如何保持HttpClient连接保持活动?

我正在使用HttpClient POST方法。 我需要创build一次HttpClient ,并应使用Keep Alive Connection。 但我认为,就我而言,它每次都build立一个新的连接。 所以,我需要为HttpClient使用Keep Alive连接。 这是我的代码片段任何帮助将不胜感激很多。 ClientConnectionManager mgr = httpclient_recv.getConnectionManager(); hp = httpclient_recv.getParams(); httpclient_recv = new DefaultHttpClient( new ThreadSafeClientConnManager(hp,mgr.getSchemeRegistry()), hp); while (true) { try { java.util.logging.Logger.getLogger("org.apache.http.wire") .setLevel(java.util.logging.Level.FINER); java.util.logging.Logger.getLogger("org.apache.http.headers") .setLevel(java.util.logging.Level.FINER); System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog"); System.setProperty( "org.apache.commons.logging.simplelog.showdatetime", "true"); System.setProperty( "org.apache.commons.logging.simplelog.log.httpclient.wire", "debug"); System.setProperty( "org.apache.commons.logging.simplelog.log.org.apache.http", "debug"); System.setProperty( "org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug"); ByteArrayEntity bae = new ByteArrayEntity(byteData); bae.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "binary/octet-stream")); […]