Articles of http post

我需要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")); […]

改造:如何发送带有常量字段的POST请求?

我想用一个实际参数发送一个简单的POST请求: @POST("/token") @FormUrlEncoded void extendSession(@Field("refresh_token")final String refreshToken); 但是这个请求也应该发送服务器请求的一些常量值,比如client_id , client_secret和grant_type ,它们是常量,不应该是应用程序API的一部分。 做这个的最好方式是什么?

如何HTTPS发布在Android

我已经看了下面的链接,但没有看到具体的东西。 在Android安全的HTTP发布这一个不工作了,我已经testing了,并有其他人的评论说,这是行不通的。 我也检查了这一点: DefaultHttpClient,证书,https和发布问题! 这似乎可以工作,但博客只是让你挂。 更多的一步一步的指示将是有益的。 我设法得到我的证书,我没有能够通过他的第二步。 http://www.makeurownrules.com/secure-rest-web-service-mobile-application-android.html这一个看起来不错,但是我最后一步放松了作者:“回到我们原来的rest客户端代码“。 他也到处都是,我不知道他在用哪个图书馆。 他没有解释他的代码, RestTemplate restTemplate = new RestTemplate(); 这是另一个悬崖峭壁。 因为那个class没有提供。 所以,如果有人能够详细解释如何做HTTPS POST请求,那将是非常棒的。 我确实需要接受自签名证书。

Android,通过HTTP POST方法发送和接收XML

有一个相关的问题,但我不明白的答案。 我想发布一个简短的XML代码 <aaaLogin inName="admin" inPassword="admin123"/> 通过HTTP到一个特定的URL地址。 Web服务会将我发回的XML代码。 最重要的部分是我将parsing接收到的XML,并将其作为文件存储。 // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://192.168.192.131/"); //URL address StringEntity se = new StringEntity("<aaaLogin inName=\"admin\" inPassword=\"admin123\"/>",HTTP.UTF_8); //XML as a string se.setContentType("text/xml"); //declare it as XML httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8"); httppost.setEntity(se); BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient .execute(httppost); tvData.setText(httpResponse.getStatusLine().toString()); //text view […]

如何上传多部分forms的数据和图像到android服务器?

在Android代码中将多部分实体图像上传到服务器时的状态代码500 HTML表单:(可以将图像添加到服务器) <form method="post" action="http://xyz/upload_picture" enctype="multipart/form-data"> Sample Picture Upload Form Submit <br/><br/> API key: <input type="text" name="key" value="abc"><br/><br/> Login: <input type="text" name="login" value="text"><br/> Password: <input type="password" name="password" value="text"><br/><br/> Property ID:<input type="text" name="property_id" value="111"><br/> Picture File:<input type="file" name="picture"><br/><br/> <br/><br/> <input type="submit" name="" value="Upload Picture"><br/> </form> Android代码:(给出状态代码500) HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost( […]