java模擬http請求

2021-08-15 13:55:58 字數 1943 閱讀 6639

get請求

/**

* get請求

* @param url 請求位址

* @param encoding 編碼

* @param properties 請求頭

* @return 

*/public static string sendget(string url,string encoding,mapproperties)

conn.connect();

break;

}catch(ioexception e)finally

}map> map = conn.getheaderfields();

in=conn.getinputstream();

if(map.containskey("content-encoding")&&map.get("content-encoding").contains("gzip"))else

int i=1;

while(true)

break;

}catch(ioexception e)finally

i++;}}

} catch (exception e) finally catch (ioexception e)

}return sb.tostring();

}

post請求

/**

* post請求

* @param url 請求位址

* @param param 引數

* @param encoding 編碼

* @param properties 請求頭

* @return

*/public static string sendpost(string url,string param,string encoding,mapproperties)

conn.setrequestproperty("charset", encoding);

// 傳送post請求必須設定如下兩行

conn.setdooutput(true);

conn.setdoinput(true);

// 獲取urlconnection物件對應的輸出流

out = new printwriter(conn.getoutputstream());

// 傳送請求引數

out.print(param);

// flush輸出流的緩衝

out.flush();

break;

}catch(exception e)finally

}map> map = conn.getheaderfields();

inputstream is=conn.getinputstream();

if(map.containskey("content-encoding")&&map.get("content-encoding").contains("gzip"))else

string line;

sb=new stringbuffer();

while ((line = in.readline()) != null)

} catch (exception e) finally

if(in!=null)

}catch(ioexception ex)

}return sb.tostring();

}

**設定,openconnection之前設定

proxy proxy = new proxy(proxy.type.direct.http, new inetsocketaddress("ip", "埠號"));
conn = realurl.openconnection(proxy);

C 模擬 Http 請求

1.支援 gzip 和 deflate 壓縮方式的響應資訊 2.post 可擴充套件提交檔案 3.可設定 未測試過 4.自動判斷響應內容的字符集 簡單判斷,真實情況很複雜,有些無字符集描述的,或者 response.charset 是 iso 頁面是 utf 8 輸出是 gbk 環境很複雜,只能做到...

PHP模擬http請求

方法一 利用php的socket程式設計來直接給介面傳送資料來模擬post的操作。建立兩個檔案post.php,getpost.php post.php內容如下 flag 0 params errno errstr 要post的資料 argv array var1 abc var2 how are ...

php模擬http請求

http請求有get,post。php傳送http請求有三種方式 我所知道的有三種,有其他的告訴我 file get contents 詳情見 curl傳送請求。fsocket傳送。下面說使用curl傳送。首先環境需要配置好curl元件。1 2 3 4 5 6 7 8 9 10 在windows中讓...