相关疑难解决方法(0)

如何使用java.net.URLConnection来触发和处理HTTP请求

java.net.URLConnection在这里经常询问使用情况,Oracle教程对此非常简洁.

该教程基本上只显示了如何触发GET请求并读取响应.它没有解释如何使用它来执行POST请求,设置请求标头,读取响应标头,处理cookie,提交HTML表单,上传文件等.

那么,我如何使用java.net.URLConnection触发和处理"高级"HTTP请求?

java http urlconnection httprequest httpurlconnection

1903
推荐指数
11
解决办法
100万
查看次数

使用Http Post发送图像

我想使用Http Post将图像从android客户端发送到Django服务器.图像从图库中选择.目前,我使用列表值名称Pairs将必要的数据发送到服务器并从JSON接收来自Django的响应.是否可以将相同的方法用于图像(使用嵌入在JSON响应中的图像的URL)?

此外,这是一种更好的方法:远程访问图像而无需从服务器下载图像或下载并将其存储在Bitmap数组中并在本地使用它们?图像数量很少(<10)且尺寸较小(50*50倾角).

任何解决这些问题的教程都将非常感激.

编辑:从库中选择的图像在将其缩放到所需大小后发送到服务器.

django android http

126
推荐指数
4
解决办法
14万
查看次数

Apache http客户端或URLConnection

我需要在Android应用程序上下载一个网页,我很难决定是否使用android apache http客户端或java的URLConnection.

有什么想法吗?

java android urlconnection apache-commons-httpclient

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

Android中的安全HTTP发布

我有一个非常基本的帮助类,我用来做我所有的Http Get/Post东西.我正在使用org.apache.http库中的HttpGet,HttpPost和HttpClient.我的所有东西都可以在HTTP上正常工作,但是当我尝试使用通过HTTPS工作的服务时,我在执行请求时会遇到ClientProtocolException.异常中唯一的消息是"服务器无法响应有效的HTTP响应".

为了测试,我使用简单的html表单从浏览器发送完全相同的有效负载,使用RequestBuilder发送Fiddler2.我已经发送了无效和空的有效负载,甚至发送了上面的所有上面有和没有标题,看看对象构建请求的方式是否有一些时髦.

我在测试中使用的所有内容都为我提供了有效的200状态HTTP响应.该服务只是给我一个描述错误的结构,如果我给它一些不同于它预期的东西.

我需要添加到HttpPost或HttpClient对象以告诉它使用HTTPS吗?我是否必须明确告诉它使用不同的端口?

编辑:

我确实为https通信注册了错误的套接字工厂.这是我用来创建具有正确套接字工厂的HttpClient对象的更新方法,以防有人在将来搜索此类问题:

private HttpClient createHttpClient()
{
    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET);
    HttpProtocolParams.setUseExpectContinue(params, true);

    SchemeRegistry schReg = new SchemeRegistry();
    schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
    ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);

    return new DefaultHttpClient(conMgr, params);
}
Run Code Online (Sandbox Code Playgroud)

java security https post android

39
推荐指数
1
解决办法
5万
查看次数

Android项目使用httpclient - > http.client(apache),post/get方法

我正在为一个Android项目做一个Get和Post方法,我需要将HttpClient 3.x"翻译"到HttpClient 4.x(由android使用).我的问题是,我不确定我做了什么,我找不到某些方法的"翻译"......

这是我做过的HttpClient 3.x和( - >)HttpClient 4.x"翻译"如果我找到它(只有那些问我问题的人):

HttpState state = new HttpState (); --> ?

HttpMethod method = null; --> HttpUriRequest httpUri = null;

method.abort(); --> httpUri.abort(); //httpUri is a HttpUriRequest

method.releaseConnection(); --> conn.disconnect(); //conn is a HttpURLConnection

state.clearCookies(); --> cookieStore.clear(); //cookieStore is a BasicCookieStore

HttpClient client = new HttpClient(); --> DefaultHttpClient client = new DefaultHttpClient();

client.getHttpConnectionManager().getParams().setConnectionTimeout(SOCKET_TIMEOUT) --> HttpConnectionParams.setConnectionTimeout(param, SOCKET_TIMEOUT);

client.setState(state); --> ?

client.getParams().setCookiePolicy(CookiePolicy.RFC_2109); --> HttpClientParams.setCookiePolicy(param, CookiePolicy.RFC_2109);

PostMethod post = (PostMethod) method; --> ?

post.setRequestHeader(...,...); --> conn.setRequestProperty(...,...);

post.setFollowRedirects(false); --> …
Run Code Online (Sandbox Code Playgroud)

java android http apache-httpclient-4.x

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