相关疑难解决方法(0)

如何使用NameValuePair使用POST向HttpURLConnection添加参数

我试图做POSTHttpURLConnection(我需要使用这种方式,不能使用HttpPost),我想参数添加到连接如

post.setEntity(new UrlEncodedFormEntity(nvp));
Run Code Online (Sandbox Code Playgroud)

哪里

nvp = new ArrayList<NameValuePair>();
Run Code Online (Sandbox Code Playgroud)

有一些数据存储在.我找不到如何将此添加ArrayList到我HttpURLConnection这里的方法:

HttpsURLConnection https = (HttpsURLConnection) url.openConnection();
https.setHostnameVerifier(DO_NOT_VERIFY);
http = https;
http.setRequestMethod("POST");
http.setDoInput(true);
http.setDoOutput(true);
Run Code Online (Sandbox Code Playgroud)

这种尴尬的https和http组合的原因是不需要验证证书.但这不是问题,它可以很好地发布服务器.但是我需要用论据发帖.

有任何想法吗?


重复免责声明:

回到2012年,我不知道如何将参数插入到HTTP POST请求中.我一直在坚持,NameValuePair因为它是在教程中.这个问题可能看似重复,但是,我的2012年自我阅读了其他问题并且它没有使用NameValuePair.事实上,它并没有解决我的问题.

post android http-post httpurlconnection basicnamevaluepair

252
推荐指数
8
解决办法
41万
查看次数

通过Firebase从Android调用云功能

情况

我创建了一个Google Cloud功能functions.https.onRequest,当我将其在浏览器中粘贴并与我的Firebase设置很好地集成时,它运行良好.这个函数有点像从后端公开的API方法,我想从客户端调用它.在此特定实例中,客户端是Android应用程序.

有什么方法可以通过Firebase调用Cloud Function来执行HTTP请求吗?或者我还需要执行手动HTTP请求吗?

android firebase google-cloud-functions

17
推荐指数
3
解决办法
1万
查看次数

如何在android中发送HttpRequest并获取Json响应?

我想使用wp-api插件为我的wordpress网站构建一个Android应用程序.我如何在Json中发送HttpRequest(GET)和recive响应?

android json httprequest wp-api

11
推荐指数
2
解决办法
6万
查看次数

即使设置了连接超时,HTTPS请求也仅在20以下的Android API上挂起

即使我设置了连接超时,我做了一个java.net.HttpURLConnection并且它挂起了线路connection.connect()."b4 connect"被记录,"连接后"永远不会被记录.我已经在API 21及更高版本上进行了测试,并且工作正常,但是我在API 16-19上的测试中遇到了这个问题.这是我的代码如下.请求使用https,后端使用标准的nginx https配置.

        URL url = new URL(urlString);
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();

        try {
            connection.setRequestMethod("GET");
            connection.setRequestProperty("charset", "utf-8");
            connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36");
            connection.setConnectTimeout('\uea60');
            connection.setReadTimeout('\uea60');

            connection.setInstanceFollowRedirects(false);
            Log.d(TAG, "b4 connect");
            connection.connect();
            Log.d(TAG, "after connect");
            if(connection.getResponseCode() == 200) {
                return IOUtils.toString(connection.getInputStream(), "UTF-8");
            }

        } catch (Exception var) {
            throw new Exception(var.getMessage());
        } finally {
            connection.disconnect();
        }
        return null;
Run Code Online (Sandbox Code Playgroud)

java android

8
推荐指数
1
解决办法
210
查看次数

如何在MainActivity.java中创建简单的HTTP请求?(Android Studio)

我正在使用Android Studio,我花了几个小时试图在我的MainActivity.java文件中做一个简单的HTTP请求,并尝试了多种方法,并看到了很多关于这个主题的网页,但却无法弄清楚.

当我尝试OkHttp时,我收到一条关于无法在主线程上执行此操作的错误.现在我试着这样做:

public static String getUrlContent(String sUrl) throws Exception {
    URL url = new URL(sUrl);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    connection.setDoOutput(true);
    connection.setConnectTimeout(5000);
    connection.setReadTimeout(5000);
    connection.connect();
    BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String content = "", line;
    while ((line = rd.readLine()) != null) {
        content += line + "\n";
    }
    return content;
}
Run Code Online (Sandbox Code Playgroud)

我将该方法直接放在MainActivity.java中,我的click事件从MainActivity.java中的另一个方法执行它:

try {
    String str = getUrlContent("https://example.com/WAN_IP.php");
    displayMessage(str);
}
catch(Exception e){
    displayMessage(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

但是现在没有崩溃,我可以告诉该行抛出的异常是"BufferedReader",但是e.getMessage()是空白的.

我是Android Studio和Java的新手,所以请善待并帮助我解决这个非常基本的问题.最终我需要向服务器发送请求,看起来OkHttp是最好的方法,但我没有在网上随处可见的Android Studio中找到OkHttp的"Hello World".

java http android-studio okhttp3

6
推荐指数
1
解决办法
3万
查看次数

3
推荐指数
1
解决办法
8825
查看次数

使用json获取当前位置

嗨,我写了一个应用程序,获取当前的纬度和经度,并将其转换为corrsponding address.i可以获得lattitude和longitutde但如何使用json将其转换为相应的地址.我是json的新手.我尝试了一些示例代码但没有获取地址

这是我的代码

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import android.content.Context;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.CameraPosition;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.LatLngBounds;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.maps.GeoPoint;



public class GMapActivity extends FragmentActivity {
private GoogleMap map;


       @Override

       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_map);
              LocationManager locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

              LocationListener locListener = new GpsActivity(getBaseContext());
        locManager.requestLocationUpdates( …
Run Code Online (Sandbox Code Playgroud)

android json geolocation reverse-geocoding google-maps-api-2

2
推荐指数
1
解决办法
9958
查看次数