android http安全性,Android中的安全HTTP发布

我不确定为什么你不能处理HTTPS。我为自己的应用程序编写了一个帮助程序类,我能够毫无问题地获取/发布到HTTPS。我会在这里发布代码,也许您可以看看我的代码和您的代码之间是否存在差异。import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.params.ClientPNames;import org.apache.http.client.params.CookiePolicy;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.protocol.BasicHttpContext;import org.apache.http.protocol.HttpContext;import org.apache.http.util.EntityUtils;import org.json.JSONObject;import android.util.Log;public class HttpRequest{

DefaultHttpClient httpClient;

HttpContext localContext;

private String ret;

HttpResponse response = null;

HttpPost httpPost = null;

HttpGet httpGet = null;

public HttpRequest(){

HttpParams myParams = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(myParams, 10000);

HttpConnectionParams.setSoTimeout(myParams, 10000);

httpClient = new DefaultHttpClient(myParams);

localContext = new BasicHttpContext();

}

public void clearCookies() {

httpClient.getCookieStore().clear();

}

public void abort() {

try {

if (httpClient != null) {

System.out.println("Abort.");

httpPost.abort();

}

} catch (Exception e) {

System.out.println("Your App Name Here" + e);

}

}

public String sendPost(String url, String data) {

return sendPost(url, data, null);

}

public String sendJSONPost(String url, JSONObject data) {

return sendPost(url, data.toString(), "application/json");

}

public String sendPost(String url, String data, String contentType) {

ret = null;

httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.RFC_2109);

httpPost = new HttpPost(url);

response = null;

StringEntity tmp = null;

Log.d("Your App Name Here", "Setting httpPost headers");

httpPost.setHeader("User-Agent", "SET YOUR USER AGENT STRING HERE");

httpPost.setHeader("Accept", "text/html,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");

if (contentType != null) {

httpPost.setHeader("Content-Type", contentType);

} else {

httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");

}

try {

tmp = new StringEntity(data,"UTF-8");

} catch (UnsupportedEncodingException e) {

Log.e("Your App Name Here", "HttpUtils : UnsupportedEncodingException : "+e);

}

httpPost.setEntity(tmp);

Log.d("Your App Name Here", url + "?" + data);

try {

response = httpClient.execute(httpPost,localContext);

if (response != null) {

ret = EntityUtils.toString(response.getEntity());

}

} catch (Exception e) {

Log.e("Your App Name Here", "HttpUtils: " + e);

}

Log.d("Your App Name Here", "Returning value:" + ret);

return ret;

}

public String sendGet(String url) {

httpGet = new HttpGet(url);

try {

response = httpClient.execute(httpGet);

} catch (Exception e) {

Log.e("Your App Name Here", e.getMessage());

}

//int status = response.getStatusLine().getStatusCode();

// we assume that the response body contains the error message

try {

ret = EntityUtils.toString(response.getEntity());

} catch (IOException e) {

Log.e("Your App Name Here", e.getMessage());

}

return ret;

}

public InputStream getHttpStream(String urlString) throws IOException {

InputStream in = null;

int response = -1;

URL url = new URL(urlString);

URLConnection conn = url.openConnection();

if (!(conn instanceof HttpURLConnection))

throw new IOException("Not an HTTP connection");

try{

HttpURLConnection httpConn = (HttpURLConnection) conn;

httpConn.setAllowUserInteraction(false);

httpConn.setInstanceFollowRedirects(true);

httpConn.setRequestMethod("GET");

httpConn.connect();

response = httpConn.getResponseCode();

if (response == HttpURLConnection.HTTP_OK) {

in = httpConn.getInputStream();

}

} catch (Exception e) {

throw new IOException("Error connecting");

} // end try-catch

return in;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值