gpt4 book ai didi

android - 代理服务器后面的 Volley

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:22 26 4
gpt4 key购买 nike

我是 Volley Networking Library(Android 的)的新手。我观察到 Request 函数将 URL 作为参数而不是服务器名称和端口。如果我提到服务器名称和端口,是否有任何方法可以让 Volley 请求通过我选择的代理服务器?

JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

我知道我们可以在构建 URL 时使用服务器和端口信息,但是除了这个之外还有其他方法可以确保请求通过我们提到的代理吗?

例如:How do I make HttpURLConnection use a proxy?这是确保 HttpURLConnection 使用代理的方法。我正在寻找 Volley 的类似答案。

最佳答案

Volley 没有提供任何直接的方法来设置代理,但有一种方法。

创建一个扩展 HurlStack 的自定义类,比如 ProxiedHurlStack

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;

import com.android.volley.toolbox.HurlStack;

public class ProxiedHurlStack extends HurlStack {

@Override
protected HttpURLConnection createConnection(URL url) throws IOException {

// Start the connection by specifying a proxy server
Proxy proxy = new Proxy(Proxy.Type.HTTP,
InetSocketAddress.createUnresolved("192.168.1.11", 8118));//the proxy server(Can be your laptop ip or company proxy)
HttpURLConnection returnThis = (HttpURLConnection) url
.openConnection(proxy);

return returnThis;
}
}

现在使用以下方法初始化您的队列:

mRequestQueue = Volley.newRequestQueue(context, new ProxiedHurlStack());

礼貌:http://d.hatena.ne.jp/esmasui/20130613/1371126800

关于android - 代理服务器后面的 Volley,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23914407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com