gpt4 book ai didi

android - 发布包含下划线 (_) 的网址

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:16 27 4
gpt4 key购买 nike

我正在发布一个包含下划线 (_) 的参数的 url。

示例:http://sdsdsds_asasasahjhd.com/dsdsdsd/login.json?

我是这样发帖的:

    HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://sdsdsds_asasasahjhd.com/dsdsdsd/login.json?");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("key1", "value1"));
nameValuePairs.add(new BasicNameValuePair("key2", "value2"));
nameValuePairs
.add(new BasicNameValuePair("key3", "value3"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);

} catch (Exception e) {
e.printStackTrace();
}

当我检查 httpclient.execute(httppost) 时,我得到了 IllegalArgumentException 并且在捕获异常详细信息时它告诉 Host name cannot be null。请指定任何解决方案。

我在这里解决了一些其他问题:

但没有用,因为我没有对整个 url 进行编码。

最佳答案

我有一个带有网络实现机制的开源库。它刚刚收到了一个解决方法的实现。在遇到问题时,你只需要它通过反射来设置主机:

        final URI uriObj = new URI("https", host, path, null, null);
if (uriObj.getHost() == null) {
final Field hostField = URI.class.getDeclaredField("host");
hostField.setAccessible(true);
hostField.set(uriObj, host);
}
return uriObj;

提交是 here .

关于android - 发布包含下划线 (_) 的网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13645616/

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