`

Http get和post的使用

阅读更多
1.通过GET 请求获取数据
public static String sendGetRequest(String endpoint,
String requestParameters) {
Log.i("sendGetRequest", endpoint);
String result = null;
if (endpoint.startsWith("http://")) {
// Send a GET request to the servlet
try {
// Construct data
StringBuffer data = new StringBuffer();
// Send data
String urlStr = endpoint;
if (requestParameters != null && requestParameters.length() > 0) {
urlStr += "?" + requestParameters;
}
Log.i("urlStr", urlStr);
URL url = new URL(urlStr);
URLConnection conn = url.openConnection();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
result = sb.toString();
} catch (Exception e) {
e.printStackTrace();
}}
Log.i("sendGetRequest", result);
return result;
}
比如再举个实际的例子,通过指定URL 的图片,获取图片数据,并转换成Android 的支持的图片格式,相关代码
如下:
// 显示网络上的图片
public static Bitmap returnBitMap(String url) {
Log.i("returnBitMap", "url=" + url);
URL myFileUrl = null;
Bitmap bitmap = null;
try {
myFileUrl = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection conn = (HttpURLConnection) myFileUrl
.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
2.通过POST 提交数据
一、
public void MyFunction{
HttpClient httpclient = new DefaultHttpClient();
//你的URL
HttpPost httppost = new HttpPost("http://www.eoeandroid.com/post_datas.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
//Your DATA
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "eoeAndroid.com is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response;
response=httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
二、首先判断网络是否正常再发送消息
//发送http信息,并信息进行编码
public String SendDataPost(String url, String post)
{
// 判断网络链接是否正常
if (isNetworkAvailable(fromcon)) {
try
{
String mString = new String(post.getBytes(), “UTF-8″);
URL iurl = new URL(url);//直接提交地址,不要带参数
HttpURLConnection objConn = (HttpURLConnection)iurl.openConnection();
//objConn.setRequestProperty(“Cookie”,HttpTools.PublishCookies());
objConn.setDoOutput(true);
objConn.setDoInput(true);
objConn.setRequestProperty(“Content-type”,”application/x-www-form-urlencoded”);
objConn.setRequestMethod(“POST”);
objConn.setRequestProperty(“Content-Length”,String.valueOf(mString.toCharArray().length));
objConn.setConnectTimeout(30000);
objConn.setReadTimeout(30000);
objConn.connect();
OutputStream objSM = objConn.getOutputStream();
OutputStreamWriter objSW = new OutputStreamWriter(objSM);
BufferedWriter out = new BufferedWriter(objSW);
out.write(mString.toCharArray(),0,mString.toCharArray().length);
out.flush();
out.close();
InputStream objSMP = objConn.getInputStream();
InputStreamReader objSRP = new InputStreamReader(objSMP, “utf-8″);
BufferedReader in = new BufferedReader(objSRP);
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = in.readLine()) != null) {
sb.append(line);
}
in.close();
String resp = sb.toString();
objSMP.close();
objConn.disconnect();
return resp;
}catch (Exception ex) {
Log.i(“CCCC”, ex.toString());
return “”;
}
}else{
Intent intent0 = new Intent(fromcon,LoginActivity.class);
intent0.putExtra(“msg”,“您当前网络连接已禁用,请重新设置!”);
fromcon.startActivity(intent0);
return “”;
}
}
// 判断网络是否正常
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
return false;
} else {
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info == null) {
return false;
} else {
if (info.isAvailable()) {
return true;
}
}
}
return false;
分享到:
评论

相关推荐

    C#实现HTTP GET和POST 样例代码

    本文将深入探讨如何使用C#编程语言来实现HTTP GET和POST请求,以供学习者参考。 GET和POST是HTTP协议中最常见的两种请求方法。GET用于获取资源,而POST则常用于提交数据。 **HTTP GET方法** GET请求通常用于获取...

    Ajax中get和post区别

    在客户端代码中,我们使用XMLHttpRequest对象创建了一个Get请求和一个Post请求,并将参数传递给服务器端。在服务器端代码中,我们使用Request对象来获取参数,并返回结果。 结论 Get和Post请求都是HTTP请求方法,...

    httppost和httpget需要的jar包

    以上代码展示了如何创建一个`CloseableHttpClient`实例,然后使用`HttpGet`和`HttpPost`进行请求。在POST请求中,我们通过`StringEntity`设置请求体。执行请求后,使用`EntityUtils.toString()`获取响应体。 总的来...

    DelphiXE10.3封装http-get-post成dll及调用

    - 在DLL项目的实现部分,实现这两个函数,使用`IdHTTP`组件进行GET和POST操作。 3. 导出函数: - 在`unit`的`interface`部分,使用`exports`关键字导出这两个函数,以便在其他项目中调用。 4. 构建DLL: - 保存...

    Http协议中POST和GET方法的本质区别

    在实际应用中,尽管GET和POST的使用有明确的指导原则,但开发者有时会根据便利性而混合使用。例如,为了简单快速,可能会使用GET来执行本应由POST处理的修改操作。这主要是由于早期Web框架对PUT和DELETE方法的支持...

    c# 运用get/post 和使用webservice

    c# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservice

    C# http Get/POST请求封装类

    GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...

    VC++ HTTP Get Post请求

    以上代码展示了如何在VC++中使用MFC实现HTTP GET和POST请求。在实际项目中,需要根据服务器的API和返回数据格式进行相应的调整和错误处理。注意,为了确保程序稳定,通常需要对可能出现的网络异常进行妥善处理。此外...

    C# 使用Get和Post请求获取数据

    在IT行业中,C#是一种广泛使用的编程语言,特别是在开发Windows应用程序、Web服务和游戏等领域。在Web开发中,与服务器进行交互的一个...通过理解和熟练掌握GET和POST请求的使用,可以更高效地开发和维护Web应用程序。

    get 和post 实例

    在Android中,实现GET和POST请求,我们可以使用`HttpURLConnection`、`HttpClient`(已废弃但仍然可用)或者第三方库如Retrofit、Volley等。以下是一个基于HttpClient的简单示例: ```java // 创建HttpClient实例 ...

    MFC的HttpClient的Get和Post方法

    以下是使用HttpClient发送GET和POST请求的基本步骤: 1. 引入头文件:在代码中包含必要的头文件,如`#include &lt;wininet.h&gt;`。注意,为了使用这些API,需要链接到`Wininet.lib`库。 2. 初始化Internet会话:调用`...

    基于Labview的HTTP的GET与POST请求示例

    超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)

    C++ 实现 HTTP HTTPS POST GET(包含curl版本和winhttp两种实现)。 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 我这里有两种实现: 1:libcurl实现的...

    C#的http发送post和get请求源码

    在C#编程中,HTTP(超文本传输协议)是用于客户端和服务器之间通信的主要协议,主要涉及GET和POST两种常见的请求方法。本文将详细介绍如何在C#中实现这两种请求,并结合给定的文件名,推测这是一个简单的C#桌面应用...

    完整的HttpClient的get和post使用方法实例(java源代码)

    在这个实例中,我们将深入理解如何使用HttpClient进行GET和POST请求。 **一、HttpClient的GET请求** GET请求是最基础的HTTP请求方式,用于从服务器获取资源。在HttpClient中,可以通过`HttpGet`类来创建GET请求。...

    http get post 请求模拟器

    总的来说,了解并熟练使用HTTP的GET和POST请求是网络开发的基础,而HTTP请求模拟器则是开发者测试和调试HTTP接口的强大工具。通过阅读"使用说明.txt",你可以学习如何有效地利用这个工具,提高工作效率。同时,访问...

    VC通过HttpGet和HttpPost方式与WebService通信,解析返回的Json

    在MFC程序中实现HttpGet和HttpPost通信,你需要使用WinInet库,这是Windows系统自带的一个网络编程接口。首先,你需要设置HTTP请求的基本信息,如URL、请求方法(GET或POST)、头信息等。然后,通过InternetOpen函数...

    HttpClient实现POST GET和文件下载

    首先,让我们了解GET和POST两种HTTP请求方法的基本概念。GET是HTTP协议中最常见的请求方式,用于获取服务器上的资源,所有数据都包含在URL中,对资源的访问具有幂等性,即多次执行同一GET请求,结果应该是一致的。...

Global site tag (gtag.js) - Google Analytics