//使用給定的伺服器ip 和埠例項化乙個http客戶端類,但並沒建立連線.
//建立乙個請求類,但也沒有真正連線,
path
是請求的路徑,如果請求
那麼這時string path=/radapi10/userauth.htm
//建立乙個類接收返回的資料
//發起post請求,這時才真正開始建立連線,所是有可能會拋
poco::
exception
session.
sendrequest
(request);
//接收伺服器反回的資料
std::
istream
& rs = session.
receiveresponse
(response);
//取得返回響應碼及對應的解釋資訊如:200 ok/401 unauthorized:請求未經授
std::cout << response.
getstatus
() <<
" "<< response.
getreason
()<< std::
endl;
//把資料從伺服器響應的資料流裡讀取出來,這裡是定到顯示器,應該也可以寫到檔案或其它流,但沒有試過。
streamcopier
::copystream
(rs, std::cout);
//乙個完整的會話結束,如果沒有exception發生,所有session/request/response都可以迴圈使用。如果發生了則要呼叫 session.reset()關閉套按字。
//使用給定的伺服器ip 和埠例項化乙個http客戶端類,但並沒建立連線.
//建立乙個請求類,但也沒有真正連線,
path
是請求的路徑,如果請求
那麼這時string path=/radapi10/userauth.htm
//設定內容編碼,純文字格式,也可以設定為json,text/xml等
//設定內容的長度,mystr是我們要傳送的字串
request.setcontentlength( (int)mystr.length() );
//取得伺服器io流,傳送出去
std::
ostream
& send =
session
.sendrequest
(request);
send <<
mystr
<<
flush
;//傳送出去
//取得伺服器返回的流,並讀出其中資料
std::istream& res = session.receiveresponse(response);//receiveresponse(...)返回乙個輸入流的引用,用法見下句
res.read(buffer,1024);//buffer為資料緩衝區
cout<
l post和get一樣,session,
request
和response都是可以迴圈使用的。 l
注意:sendrequest
和receiveresponse才是真正連線伺服器,所以是有可能會拋
poco::
exception
l virtual
std::
ostream
& sendrequest(ht
tprequest
& request);
把http請求頭髮送到session指定的伺服器.httpclientsession會設定好主機名keep-alive屬性。返回的ostream直到receiveresponse()呼叫或者session銷毀前都是可用的。
l void
reset
();
重置會話session並且關閉socket,即使設定了長連線下一次請求(
sendrequest
)也會重新建立連線.
如果你想迴圈使用某個session,或者保持長連線,那麼在receiveresponse()和
sendrequest
()發生丟擲異常或相應的流不可用時請呼叫此函式。如果不再使用這個會話,可以不用管它。
編寫乙個簡單的shell
include include include include include include include include void getloginname void gethostname void getdir p printf s p int main char argv 32 char...
編寫乙個簡單的死鎖
public class dead lock1 class runnable1 implements runnable catch exception e class runnable2 implements runnable catch exception e obj1 和 obj2 都是屬於類的...
乙個簡單的makefile的編寫
標頭檔案 part.h cpp檔案 包含part.h part.cpp cpp檔案 包含part.h partmain.cpp makefile編寫如下 main partmain.o part.o g o main partmain.o part.o partmain.o partmain.cpp...