c語言訪問webservice小例子
近期做的乙個專案中,需要訪問webservice獲取一些json格式的資料。返回的頁面內容只是json格式的資料,並不像實際頁面那麼複雜。所以不想再引入工具庫,直接用socket簡單實現了。
#include
#include
#include
#include
#include
int main()
; //請求緩衝區
char recvbuff[4096] = ; //接收緩衝區
char *data = null;
struct timeval time = ;
int ret = 0;
//填充webservice主機資訊
memset(&ser_addr, 0, sizeof(ser_addr));
ser_addr.sin_family = af_inet;
ser_addr.sin_port = htons(80);
ret = inet_pton(af_inet, "127.0.0.1", &ser_addr.sin_addr.s_addr);
if (ret < 0)
if (ret == 0)
//建立socket
sockfd = socket(af_inet, sock_stream, 0);
if(sockfd < 0)
//設定阻塞時間為5s
ret = setsockopt(sockfd, sol_socket, so_rcvtimeo, (const char*)&time, sizeof(time));
if (ret < 0)
//連線webservice
ret = connect(sockfd, (struct sockaddr *)&ser_addr, sizeof(struct sockaddr));
if(ret != 0)
//填充請求url 請求頭部其他屬性自行新增。每行以換行加回車結束
//發起http請求
ret = send(sockfd, url, strlen(url), 0);
if (ret < 0)
puts("send success");
//頁面返回
ret = recv(sockfd, recvbuff, sizeof(recvbuff), 0);
if (ret < 0)
puts("recv success");
//解析返回頁面,將data指標指向資料主體
data = strstr(recvbuff,"\r\n\r\n");
data += 4;
//列印頁面
if (data != null)
end:
close(sockfd);
return 0;
}
C 動態改變webservice的訪問位址
2 配置服務http lenovo pc 80 evisaws wharfservice?wsdl,那麼在上面的檔案中就會自動生成服務的配置 wharfwsbeanclient c new wharfwsbeanclient wharfservice 新的位址例如 4.1 存到登錄檔 registr...
如何訪問webService介面
在上篇的文章中我們接觸到如何來編寫webservice介面,這篇文章我們將講述的是如何來訪問webservice介面 首先比如這樣的乙個介面 乙個很普通的webservice我們應該如何來進行呼叫這個介面 第一步 利用jdk的wsimport命令來生成 wsimport keep 第二步 呼叫對應的...
webService訪問加密 Soapheader
csharp copy font size 10px using system using system.data using system.configuration using system.web using system.web.security using system.web.ui us...