public class Test extends Activity implements OnClickListener {
public Context context;
private TextView textView1;
DefaultHttpClient httpClient ;
public static String URL ="http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
private static final int TIMEOUT = 60;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
try {
HttpParams paramsw = createHttpParams();
httpClient = new DefaultHttpClient(paramsw);
HttpGet httpGet=new HttpGet("http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
try {
HttpResponse httpResponse = httpClient.execute(httpGet); //连接服务器
int httpCode = httpResponse.getStatusLine().getStatusCode();
if (httpCode == HttpURLConnection.HTTP_OK) {
Header[] headers=httpResponse.getAllHeaders();
HttpEntity entity=httpResponse.getEntity();
Header header=httpResponse.getFirstHeader("content-type");
//下面是从流中把字符串读出来了
InputStream inputStream=entity.getContent();
InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
BufferedReader reader = new BufferedReader(inputStreamReader);//读字符串用的。
String inputLine = null;
String result = "";
// 使用循环来读取获得的数据,把数据都村到result中了
while (((inputLine = reader.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
result += inputLine + "\n";
}
reader.close();//关闭输入流
}else {
textView1.setText("Error Response"+httpResponse.getStatusLine().toString());
}
} catch (UnsupportedEncodingException e) {
textView1.setText("网络连接错误UnsupportedEncodingException");
} catch (ClientProtocolException e) {
textView1.setText("网络连接错误ClientProtocolException");
} catch (IOException e) {
textView1.setText("网络连接错误IOException");
}
} finally {
if (httpClient != null) {
httpClient.getConnectionManager().shutdown();//最后关掉链接。
httpClient = null;
}
}
}
相关链接:http://www.eoeandroid.com/thread-13873-1-1.html
分享到:
相关推荐
使用HttpGet,开发者可以指定一个URL来请求特定的数据,通常用于读取操作。 3. **HttpClient**:HttpClient是整个库的核心,它提供了发送HTTP请求和接收HTTP响应的能力。开发者可以通过创建HttpClient实例,配置...
HttpGet httpGet = new HttpGet("http://example.com/resource"); HttpPost httpPost = new HttpPost("http://example.com/resource"); ``` 5. **设置请求头** 可以通过`setHeader()`方法添加自定义的请求头: ...
在实际应用中,还应注意处理网络连接错误和异常,比如超时、无网络连接或者服务器返回错误状态码。此外,由于Android权限管理,应用还需要在`AndroidManifest.xml`中声明INTERNET权限: ```xml ``` 总的来说,这...
- `HttpGet`, `HttpPost`, `HttpPut`, `HttpDelete`等:代表不同的HTTP方法请求对象。 - `NameValuePair`和`BasicNameValuePair`:用于构建请求参数。 - `HttpEntity`:表示HTTP消息中的实体,可以是请求体或响应体...
`HttpConnection`代表网络连接,而`HttpEntity`表示HTTP消息体,可以是请求的实体内容或响应的数据。 4. `BasicHttpEntity`、`ChunkedStreamEntity`与`FileEntity` 这些是`HttpEntity`的实现,分别用于处理基本的...
标题中的"HttpGet.rar_httpget_java HttpGet_java download save"表明这是一个关于使用Java实现HttpGet方法进行文件下载并保存的示例。HttpGet是HTTP协议中的一个请求方法,常用于从服务器获取资源。在这个项目中,...
此外,`HttpPost`标签提示可能还涉及到上传数据,这通常用于提交表单或者上传文件,但在这个特定的"apachehttp demo"中并未涉及。 在开发过程中,确保遵循最佳实践,如使用try-with-resources语句处理资源关闭,...
HttpGet httpGet = new HttpGet("http://example.com/api"); ``` 4. **添加依赖**: 在Java项目中,你需要将这些JAR包添加到项目的类路径(Classpath)中,或者如果你使用的是Maven或Gradle等构建工具,可以在...
在Android中,我们通常使用Apache HttpClient库或者Android自带的HttpURLConnection来实现HttpGet请求。由于HttpClient在Android API 23后被弃用,这里我们将使用Android的HttpURLConnection。 以下是使用...
- 构建HttpGet或HttpPost对象:根据需要发送的请求类型创建请求对象,设置URL、请求头、参数等。 - 执行请求:调用HttpClient的`execute`方法发送请求。 - 处理响应:获取`HttpResponse`对象,检查状态码,读取响应...
总之,这个压缩包为Java开发者提供了一站式的解决方案,用于处理HTTP通信,无论是简单的GET请求还是复杂的HTTP事务,Apache HttpClient都能提供强大的支持。通过深入学习和使用源码,开发者可以更好地优化其网络请求...
HttpClient库使得开发者能够轻松地实现网络数据的抓取和交换,这对于进行Web服务交互、网页爬虫或者任何需要从互联网获取数据的应用来说都非常有用。 ### GET请求 GET请求是最常见的HTTP方法,用于从服务器上获取...
在HttpClient中,可以通过`HttpGet`类来创建GET请求。设置URL后,调用`execute`方法执行请求,并从响应中获取数据。 - **POST请求**:POST请求常用于向服务器提交数据。使用`HttpPost`类创建POST请求,可以通过`...
在实际应用中,应考虑处理可能出现的异常,如网络连接问题、超时等。可以通过捕获`IOException`和`HttpException`来进行错误处理。 5. **使用Java内置的HttpClient (Java 11+)** 如果使用的是Java 11或更高版本...
2. 请求读取:Apache接收并解析HTTP请求,包括请求行、头和数据。 3. 找到表示形式:根据请求的URL,Apache查找对应的资源,并决定如何处理。 4. 条件请求评估:支持HTTP的条件请求,如If-Match、If-None-Match等,...
在安卓应用开发中,网络连接是必不可少的一部分,用于与服务器进行数据交互,更新或获取信息。以下是关于"安卓7种网络连接方式"的详细解析: 1. **HTTPUrlConnection**: - `HttpURLConnection`是Java标准库中的一...
2. **构建请求**:使用`HttpGet`或`HttpPost`对象创建HTTP请求,设置URL,添加请求头和请求参数。 3. **执行请求**:通过HttpClient的`execute`方法发送请求,并获取响应。 4. **处理响应**:解析HTTP响应状态码,...
- **HttpGet/HttpPost等方法**:这些预定义的HttpUriRequest子类用于创建GET、POST等基本HTTP请求。 - **HttpRequestBase**:这是所有自定义HTTP请求的基础类,允许你创建任意HTTP方法。 2. **连接管理**: - **...
- **HttpGet / HttpPost**:分别用于发送GET和POST请求,它们是HttpRequestBase的子类,可以设置URI、请求头等。 2. **请求执行**: - **HttpClient.execute()**:此方法用于执行HTTP请求,返回一个HttpResponse...
`HttpRequest`对象可以是`HttpGet`, `HttpPost`, `HttpPut`等,它们代表不同的HTTP方法。 3. **响应处理**:执行请求后,会得到`HttpResponse`对象,从中可以获取状态码、响应头和实体内容。`EntityUtils`类提供了...