我创建了以下用于检查连接状态的函数:
private void checkConnectionStatus() {
HttpClient httpClient = new DefaultHttpClient();
try {
String url = "http://xxx.xxx.xxx.xxx:8000/GaitLink/"
+ strSessionString + "/ConnectionStatus";
Log.d("phobos", "performing get " + url);
HttpGet method = new HttpGet(new URI(url));
HttpResponse response = httpClient.execute(method);
if (response != null) {
String result = getResponse(response.getEntity());
...
Run Code Online (Sandbox Code Playgroud)
当我关闭服务器进行测试时,执行会等待很长时间
HttpResponse response = httpClient.execute(method);
Run Code Online (Sandbox Code Playgroud)
有谁知道如何设置超时以避免等待太久?
谢谢!
我正在使用公共HttpClient对Spring servlet进行http调用.我需要在查询字符串中添加一些参数.所以我做了以下事情:
HttpRequestBase request = new HttpGet(url);
HttpParams params = new BasicHttpParams();
params.setParameter("key1", "value1");
params.setParameter("key2", "value2");
params.setParameter("key3", "value3");
request.setParams(params);
HttpClient httpClient = new DefaultHttpClient();
httpClient.execute(request);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用servlet读取参数时
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getParameter("key");
Run Code Online (Sandbox Code Playgroud)
它返回null.实际上parameterMap是完全空的.当我在创建HttpGet请求之前手动将参数附加到url时,参数在servlet中可用.当我使用附加了queryString的URL从浏览器中访问servlet时也是如此.
这里的错误是什么?在httpclient 3.x中,GetMethod有一个setQueryString()方法来追加查询字符串.4.x中的等价物是什么?
我正在开发短信发送应用程序,并且出于登录目的,我想使用POST方法从我的Android应用程序向网络服务器发送用户名和密码.
当我点击lo-gin按钮时,应用程序没有响应,并且控制台打印以下消息以响应Post请求.
HTTP/1.1 500内部服务器错误
虽然我的应用程序运行良好的GET方法.
我无法弄清楚为什么会造成这种情况......
整个代码在这里:
package com.vikas.httplogin;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class HttpLogin extends Activity {
TextView tv;
private static final String tag ="FATAL_ERROR";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
connecttoServer();
}
private void connecttoServer()
{ …Run Code Online (Sandbox Code Playgroud)