次の2つの方法では、Javaを使用してURLリクエストを送信し、サーバーから値を返します。
最初の方法:
コードコピーは次のとおりです。
org.apache.http.httpentityをインポートします。
org.apache.http.httpresponseをインポートします。
Import org.apache.http.namevaluepair;
import org.apache.http.client.httpclient;
org.apache.http.client.entity.urlencodedformentityをインポートします。
org.apache.http.client.methods.httppostをインポートします。
import org.apache.http.impl.client.defaulthttpclient;
org.apache.http.message.basicnamevaluepairをインポートします。
org.apache.http.params.coreconnectionpnamesをインポートします。
org.apache.http.util.entityutilsをインポートします。
publicStaticStringSendurlRequest(Stringurlst、StringParam1、StringParam2)ThrowSexception {
stringtempstr = null;
httpclienthttpclient = newdefaulthttpclient();
propertiesProperties = newProperties();
httpentityEntity = null;
stringxmlcontent = "";
試す
{
//タイムアウト時間を設定します
httpclient.getParams()。setintparameter(coreconnectionpnames.connection_timeout、20000);
httpclient.getParams()。setParameter(coreconnectionpnames.so_timeout、20000);
//合格する必要があるパラメーターのカプセル化
リスト<NameValuePair> nvps = newArrayList <NameValuePair>();
nvps.add(newbasicnamevaluepair( "mainmemocode"、strmainmemocode));
nvps.add(newbasicnamevaluepair( "recordpassword"、strrecordpassword));
//クライアント要求メソッドタイプ
httppostttppost = newhttppost(urlstr);
httppost.setentity(newurlencodedformentity(nvps、 "gbk"));
httpresponsesponse = httpclient.execute(httppost);
//サーバーがhttpに戻るコンテンツタイプの値を取得します
tempstr = response.getheaders( "content-type")[0] .getValue()。toString();
//サーバーによって返されるページの値を取得します
entity = response.getEntity();
xmlcontent = entityutils.toString(entity);
stringstrmessage = null;
System.out.println(xmlcontent);
system.out.println(respons.getheaders( "content-type")[0] .getValue()。toString());
httppost.abort();
}
catch(sockettimeoutexceptione)
{
}
catch(ExceptionEx)
{
ex.printstacktrace();
}
ついに{
httpclient.getConnectionManager()。shutdown();
}
2番目の方法:
コードコピーは次のとおりです。
publicStaticStringSendurlRequest(Stringurlst、StringParam1、StringParam2)ThrowSexception {
httpurlconnectionurl_con = null;
試す{
urlurl = newurl(urlstr);
stringbufferbankxmlbuffer = newtringbuffer();
// URL接続を作成し、データに送信し、返品結果を取得します
httpurlconnectionConnection =(httpurlconnection)url.openconnection();
connection.setRequestMethod( "post");
connection.setDoOutput(true);
connection.setRequestProperty( "user-agent"、 "directclient");
printwriterout = newPrintWriter(newOutputStreamWriter(connection.getOutputStream()、 "gbk"));
out.println(param);
out.close();
bufferedreaderin = newbufferedReader(newinputStreamReader(connection
.getInputStream()、 "gbk"));
StringInputline;
while((inputline = in.readline())!= null){
bankxmlbuffer.append(inputline);
}
in.close();
tempstr = bankxmlbuffer.toString();
}
キャッチ(例外)
{
system.out.println( "get request!" +e)を送信するときに例外が発生しました);
e.printstacktrace();
} ついに{
if(url_con!= null)
url_con.disconnect();
}
returnmpestr;
}