EXEU通过argv把客户数据传递代码值Word下载.docx

上传人:b****6 文档编号:8353987 上传时间:2023-05-11 格式:DOCX 页数:30 大小:24.80KB
下载 相关 举报
EXEU通过argv把客户数据传递代码值Word下载.docx_第1页
第1页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第2页
第2页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第3页
第3页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第4页
第4页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第5页
第5页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第6页
第6页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第7页
第7页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第8页
第8页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第9页
第9页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第10页
第10页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第11页
第11页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第12页
第12页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第13页
第13页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第14页
第14页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第15页
第15页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第16页
第16页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第17页
第17页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第18页
第18页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第19页
第19页 / 共30页
EXEU通过argv把客户数据传递代码值Word下载.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EXEU通过argv把客户数据传递代码值Word下载.docx

《EXEU通过argv把客户数据传递代码值Word下载.docx》由会员分享,可在线阅读,更多相关《EXEU通过argv把客户数据传递代码值Word下载.docx(30页珍藏版)》请在冰点文库上搜索。

EXEU通过argv把客户数据传递代码值Word下载.docx

stringresult;

try{

doublesum=0;

for(inti=0;

i<

vec.size();

i++){

//cout<

vec[i]<

std:

stod(vec[i])<

sum+=std:

stod(vec[i]);

result=boost:

join(vec,"

+"

)+"

="

+boost:

lexical_cast<

(sum);

}catch(std:

exceptione){

result="

发送的数据包内包含非法数字"

;

returnstd:

move(result);

boolisclose(){

returnstate=="

close"

boolisexpire(){

return(std:

chrono:

system_clock:

now()-lasttime)>

deadline;

};

classServer{//网络服务业务逻辑全部在Server类中,客户端连接后自动创建一个peer

typedefServerthis_type;

private:

io_servicem_io;

acceptor_typem_acceptor;

boost:

steady_timertimer;

std:

map<

string,std:

shared_ptr<

Peer>

>

m_peers;

voidstartTimer(){

timer.expires_from_now(std:

seconds

(1));

timer.async_wait(boost:

onTimer,this,boost:

voidonTimer(constsystem:

error_code&

){

for(autoiter=m_peers.begin();

iter!

=m_peers.end();

if(iter->

second->

isclose()||iter->

isexpire()){

iter->

getPeerName()<

isclosed."

m_peers.erase(iter++);

}else{

iter++;

startTimer();

[代码][GoogleGo]代码

packagemain

import(

io/ioutil"

net/http"

net/"

fmt"

encoding/json"

//----------------------------------

//黄金数据调用示例代码-聚合数据

//在线接口文档:

www/docs/29

constAPPKEY="

*******************"

//您申请的APPKEY

funcmain(){

//1.上海黄金交易所

Request1()

//2.上海期货交易所

Request2()

//3.银行账户黄金

Request3()

}

//1.上海黄金交易所

funcRequest1(){

//请求地址

juhe:

web:

8080/finance/gold/shgold"

//初始化参数

param:

=.Values{}

//配置请求参数,方法内部已处理encode问题,中文参数可以直接传参

param.Set("

key"

APPKEY)//APPKey

v"

"

)//JSON格式版本(0或1)默认为0

 

//发送请求

data,err:

=Get(juhe,param)

iferr!

=nil{

fmt.Errorf("

请求失败,错误信息:

\r\n%v"

err)

varnetReturnmap[string]interface{}

json.Unmarshal(data,&

netReturn)

ifnetReturn["

error_code"

].(float64)==0{

fmt.Printf("

接口返回result字段是:

netReturn["

result"

])

//2.上海期货交易所

funcRequest2(){

8080/finance/gold/shfuture"

fmt.Printf("

//3.银行账户黄金

funcRequest3(){

8080/finance/gold/bankgold"

//get网络请求

funcGet(apistring,params.Values)(rs[]byte,errerror){

var*.

err=.Parse(api)

解析错误:

returnnil,err

//如果参数中有中文参数,这个方法会进行Encode

.RawQuery=params.Encode()

resp,err:

=http.Get(.String())

fmt.Println("

err:

deferresp.Body.Close()

returnioutil.ReadAll(resp.Body)

//post网络请求,params是.Values类型

funcPost(apistring,params.Values)(rs[]byte,errerror){

=http.PostForm(api,params)

returnnil,err

代码描述:

基于GO的黄金数据接口调用代码实例

关联数据:

黄金数据

[代码][C#]代码

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Net;

usingSystem.IO;

usingXfrog.Net;

usingSystem.Diagnostics;

usingSystem.Web;

//代码中JsonObject类下载地址:

namespaceConsoleAPI

{

classProgram

{

staticvoidMain(string[]args)

stringappkey="

//配置您申请的appkey

string1="

varparameters1=newDictionary<

string,string>

();

parameters1.Add("

appkey);

//你申请的key

"

);

//JSON格式版本(0或1)默认为0

stringresult1=sendPost(1,parameters1,"

get"

JsonObjectnewObj1=newJsonObject(result1);

StringerrorCode1=newObj1["

].Value;

if(errorCode1=="

0"

Debug.WriteLine("

成功"

Debug.WriteLine(newObj1);

else

//Debug.WriteLine("

失败"

Debug.WriteLine(newObj1["

].Value+"

+newObj1["

reason"

].Value);

string2="

varparameters2=newDictionary<

parameters2.Add("

stringresult2=sendPost(2,parameters2,"

JsonObjectnewObj2=newJsonObject(result2);

StringerrorCode2=newObj2["

if(errorCode2=="

Debug.WriteLine(newObj2);

Debug.WriteLine(newObj2["

+newObj2["

string3="

varparameters3=newDictionary<

parameters3.Add("

stringresult3=sendPost(3,parameters3,"

JsonObjectnewObj3=newJsonObject(result3);

StringerrorCode3=newObj3["

if(errorCode3=="

Debug.WriteLine(newObj3);

Debug.WriteLine(newObj3["

+newObj3["

///<

summary>

///Http(GET/POST)

/summary>

paramname="

请求<

/param>

parameters"

请求参数<

method"

请求方法<

returns>

响应内容<

/returns>

staticstringsendPost(string,IDictionary<

parameters,stringmethod)

if(method.ToLower()=="

post"

HttpWebRequestreq=null;

HttpWebResponsersp=null;

System.IO.StreamreqStream=null;

try

req=(HttpWebRequest)WebRequest.Create();

req.Method=method;

req.KeepAlive=false;

req.ProtocolVersion=HttpVersion.Version10;

req.Timeout=5000;

req.ContentType="

application/x-www-form-encoded;

charset=utf-8"

byte[]postData=Encoding.UTF8.GetBytes(BuildQuery(parameters,"

utf8"

));

reqStream=req.GetRequestStream();

reqStream.Write(postData,0,postData.Length);

rsp=(HttpWebResponse)req.GetResponse();

Encodingencoding=Encoding.GetEncoding(rsp.CharacterSet);

returnGetResponseAsString(rsp,encoding);

catch(Exceptionex)

returnex.Message;

finally

if(reqStream!

=null)reqStream.Close();

if(rsp!

=null)rsp.Close();

//创建请求

HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(+"

?

+BuildQuery(parameters,"

//GET请求

request.Method="

GET"

request.ReadWriteTimeout=5000;

request.ContentType="

text/html;

charset=UTF-8"

HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();

StreammyResponseStream=response.GetResponseStream();

StreamReadermyStreamReader=newStreamReader(myResponseStream,Encoding.GetEncoding("

utf-8"

//返回内容

stringretString=myStreamReader.ReadToEnd();

returnretString;

///组装普通文本请求参数。

Key-Value形式请求参数字典<

编码后的请求数据<

staticstringBuildQuery(IDictionary<

parameters,stringencode)

StringBuilderpostData=newStringBuilder();

boolhasParam=false;

IEnumerator<

KeyValuePair<

dem=parameters.GetEnumerator();

while(dem.MoveNext())

stringname=dem.Current.Key;

stringvalue=dem.Current.Value;

//忽略参数名或参数值为空的参数

if(!

string.IsNullOrEmpty(name))//&

&

!

string.IsNullOrEmpty(value)

if(hasParam)

postData.Append("

postData.Append(name);

if(encode=="

gb2312"

postData.Append(HttpUtility.Encode(value,Encoding.GetEncoding("

)));

elseif(encode=="

postData.Append(HttpUtility.Encode(value,Encoding.UTF8));

postData.Append(value);

hasParam=true;

returnpostData.ToString();

///把响应流转换为文本。

rsp"

响应流对象<

encoding"

编码方式<

响应文本<

staticstringGetResponseAsString(HttpWebResponsersp,Encodingencoding)

System.IO.Streamstream=null;

StreamReaderreader=null;

//以字符流的方式读取HTTP响应

stream=rsp.GetResponseStream();

reader=newStreamReader(stream,encoding);

returnreader.ReadToEnd();

//释放资源

if(reader!

=null)reader.Close();

if(stream!

=null)stream.Close();

[代码][PHP]代码

/**

*c远程传输工具

*/

publicfunctionpost_c($,$b

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2