解决方案 »

  1.   


    网上找个例子 httppost请求··· http通讯啊···
      

  2.   

    如果你想模拟,两种选择:一、使用httpclient,二使用java自带的类库。
    1、java自带类库:public static String call(String address,String params) {
    URL url = null;
    HttpURLConnection httpurlconnection = null;
    StringBuilder result = new StringBuilder();
    try {
    url = new URL(address);
    // 以post方式请求
    httpurlconnection = (HttpURLConnection) url.openConnection();
    httpurlconnection.setDoOutput(true);
    httpurlconnection.setRequestMethod("POST");
    if(null!=params&&params.length()>0){
    httpurlconnection.getOutputStream().write(params.getBytes());
    httpurlconnection.getOutputStream().flush();
    httpurlconnection.getOutputStream().close();
    }
    // 获取页面内容
    java.io.InputStream in = httpurlconnection.getInputStream();
    java.io.BufferedReader breader = new BufferedReader(new InputStreamReader(in, Config.DEFAULT_CHARSET));
    String str = breader.readLine();
    while (str != null) {
    result.append(str);
    str = breader.readLine();
    }
    breader.close();
    in.close();
    } catch (Exception e) {

    } finally {
    if (httpurlconnection != null)
    httpurlconnection.disconnect();
    }
    return result.toString().trim();
    }2、httpclient:public static String post(String url,String params){
                    HttpClient httpClient = new DefaultHttpClient();
    StringBuilder builder = new StringBuilder();
    HttpPost post = new HttpPost(url);
    try {
    if(null!=params){
    post.setEntity(new StringEntity(params,"UTF-8"));
    }
    HttpResponse resp = httpClient.execute(post);
    int statusCode = resp.getStatusLine().getStatusCode();
    if(statusCode<=304){
    HttpEntity entity = resp.getEntity();
    if (entity == null) {
                throw new IllegalArgumentException("HTTP entity may not be null");
            }
    if (entity.getContentLength() > Integer.MAX_VALUE) {
                    throw new IllegalArgumentException("HTTP entity too large to be buffered in memory");
                }
    int i = (int)entity.getContentLength();
    i = i<0 ? 4096 : i;
    final InputStream instream = entity.getContent();
    final Reader reader = new InputStreamReader(instream, Config.DEFAULT_CHARSET);
            final CharArrayBuffer buffer = new CharArrayBuffer(i);
            final char[] tmp = new char[1024];
            int l;
            while((l = reader.read(tmp)) != -1) {
             buffer.append(tmp, 0, l);
            }
            builder.append(buffer);
    }
    post.abort();
    } catch (Exception e) {
    post.abort();

    return builder.toString().trim();
    }
      

  3.   

    那些例子我都改好了,主要是那个post参数,不知道如何对应。能否给普及下