/**
* 以URL方式发送数据
*
* @param urlStr
* 发送地址
* @param contentStr
* 发送内容
* @param charset
* 发送字符集
* @param sResult
* 返回数据Buffer
* @return boolean 发送是否成功
*/
public boolean sendStrOfPost(String urlStr, String contentStr, String charset, StringBuffer sResult) {
boolean bResult = false;
String charsetName = charset;
URL url = null;
HttpURLConnection httpConnection = null;
InputStream httpIS = null;
java.io.BufferedReader http_reader = null;
try {
url = new URL(urlStr);
httpConnection = (HttpURLConnection) url.openConnection();
// 设置连接主机超时(单位:毫秒)
httpConnection.setConnectTimeout(Util.getInstance().getIntFromProperties("c1.timeout.httpconn"));
// 设置从主机读取数据超时(单位:毫秒)
httpConnection.setReadTimeout(Util.getInstance().getIntFromProperties("c1.timeout.httpread"));
httpConnection.setRequestMethod("POST"); // POST方式提交数据
httpConnection.setDoOutput(true);
httpConnection.setRequestProperty("Content-Length", String.valueOf(contentStr.getBytes().length));
PrintWriter out = null;
out = new PrintWriter(new OutputStreamWriter(httpConnection.getOutputStream(), charsetName));// 此处改动
// 发送请求
out.print(contentStr);
out.flush();
out.close();
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 发送正常
bResult = true;
// 读取数据
httpIS = httpConnection.getInputStream();
http_reader = new java.io.BufferedReader(new java.io.InputStreamReader(httpIS, charsetName));
String line = null;
while ((line = http_reader.readLine()) != null) {
if (sResult.length() > 0) {
sResult.append("\n");
}
sResult.append(line);
}
logger.info("[URL][response][success]" + sResult);
} else {
logger.info("[URL][response][failure][code : " + responseCode + " ]");
}
} catch (IOException e) {
logger.error("[HttpUtil]sendStrOfPost error", e);
}
finally {
try {
if (http_reader != null)
http_reader.close();
if (httpIS != null)
httpIS.close();
if (httpConnection != null)
httpConnection.disconnect();
} catch (IOException e) {
logger.error("[HttpUtil]finally error", e);
}
}
return bResult;
}
分享到:
相关推荐
Java建立HttpConnection连接的例子,支持在手机端运行的的Java小程序,通过建立HttpConnection连接,获取到文本信息并显示在屏幕上,相关的测试代码如下: ContentConnection connection = (ContentConnection) ...
android中利用httpconnection上传文件。可以选择要上传文件的路径,上传网址
java 基于https请求httpconnection, 在代码中加入tls, tls1.2等..
本例演示最简单的android客户端和服务器端通信,客户端使用android4.0以上版本,服务器端为dynamic web project工程,使用时将client代码中的ip地址改为自己电脑的ipv4地址,同时保证手机和电脑处于同一网络下(内网...
handy包 http://blog.csdn.net/facepp/article/details/7439840
Android用HttpConnection访问网络时实现类似浏览器自动保持上一次会话的功能
NULL 博文链接:https://wangxc.iteye.com/blog/591160
细心的开发者可能会发现,在用浏览器访问http时一般都会自动保持同一个会话,而用代码访问http连接时则每一次访问都会新建一个会话,那么我趁着这几天休假就把之前从网上资料中整理出的一个demo分享出来,实现安卓...
建立HTTP连接请求
代码包含了httpurlconnection基本操作,一些正常的操作。
Android文件断点下载,使用HttpConnection
at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:191) at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:80) at ...
例1: (HttpConnection) Connector.open("http://www.testserver.com"); 以上代码会自动将BlackBerry MDS Services 作为它的默认连接路径。实际开发中, 如果要确保应用程序使用uses BlackBerry MDS Services 作为它...
UploadFileUtil工具类可以针对各种文件(图片、声音)进行httpConnection 上传
本示例主要用于HttpConnection的基础学习,示例中结合了基础其他的知识一起。
利用HTTPConnection类设置文件上传,这里没有搭建服务器端代码,因为太简单了...
①使用简单工厂模式设计一个...②在某网络管理软件中,需要为不同的网络协议提供不同的连接类,例如针对POP3协议的连接类POP3Connection、针对IMAP协议的连接类 IMAPConnection、针对HTTP协议的连接类 HTTPConnection等。
Httpconnection ——本人常用 OKHTTP——看见过(需要在依赖中引入包) HttpClient——过气的方法(弃用) HTTPCONNECTION 由于网络连接是耗时操作不能在UI线程操作,一般通过Handler获取子线程中获取的数据 ...
2.4.6 使用HttpConnection 2.4.7 永久性数据(RMS) 2.4.8 存储集(Record Store) 2.4.9 记录 2.4.10 枚举 2.4.11 异常 2.5 用户界面(LCDUI 2.5.1 UI基础 2.5.2 高级UI 2.5.3 低级UI 第三章 手机游戏...
[+]针对某些超时的情况,注释掉 httplib.HTTPConnection._http_vsn = 10 和httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'这两行再测试一遍,因为有的可能不支持HTTP/1.0的协议。 [+]增加linux和win的可执行文件...