




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、工程安全類,解決項(xiàng)目中經(jīng)常遇到. 關(guān)于AppDelegate里面的那些函數(shù)方法 關(guān)于hidesBottomBarWhenPushed 隱藏tabor. 關(guān)于IQKeyboardManager 鍵盤(pán)第三方庫(kù) /創(chuàng)建套接字 SOCKET servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); /綁定套接字 sockaddr_in sockAddr; memset(&sockAddr, 0, sizeof(sockAddr); /每個(gè)字節(jié)都用0填充 sockAddr.sin_family = PF_INET; /使用IPv4地址 /sock
2、Addr.sin_addr.s_addr = htonl(INADDR_ANY); /自動(dòng)獲取IP地址 sockAddr.sin_addr.s_addr = inet_addr("54"); sockAddr.sin_port = htons(4321); /端口 bind(servSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR); /對(duì)于一些篩選之類的功能使用NSSet or NSMutableS. /進(jìn)入監(jiān)聽(tīng)狀態(tài) listen(servSock, 20); /接收客戶端請(qǐng)求 SOCKADDR cl
3、ntAddr; int nSize = sizeof(SOCKADDR); SOCKET clntSock; char RecvBufferMAXBYTE; COORD old_postion = 0, 0; while (1) clntSock = accept(servSock, (SOCKADDR*)&clntAddr, &nSize); memset(RecvBuffer, 0, MAXBYTE); do recv(clntSock, RecvBuffer, MAXBYTE, NULL); while (0 = strlen(RecvBuffer); old_posti
4、on = get_xy(); if (g_postion < 20) gotoxy(0, g_postion+); else g_postion = 1; gotoxy(0, g_postion); +g_postion; ClearScreen(); /system("cls"); printf_s("You: %sn", RecvBuffer); gotoxy(old_postion.X, old_postion.Y); /關(guān)閉套接字 closesocket(clntSock); closesocket(servSock); /終止 DLL 的
5、使用 WSACleanup(); system("pause"); return 0; 代碼 Google Go代碼 package mainimport ( "io/ioutil" "net/http" "net/" "fmt" "encoding/json") /-/ 黃金數(shù)據(jù)調(diào)用示例代碼 聚合數(shù)據(jù)/ 在線接口文檔:www/docs/29/- const APPKEY = "*" /您申請(qǐng)的APPKEY func main() /1.上海黃金交易所 R
6、equest1() /2.上海期貨交易所 Request2() /3.銀行賬戶黃金 Request3() /1.上海黃金交易所func Request1() /請(qǐng)求地址 juhe :="web:8080/finance/gold/shgold" /初始化參數(shù) param:=.Values /配置請(qǐng)求參數(shù),方法內(nèi)部已處理encode問(wèn)題,中文參數(shù)可以直接傳參 param.Set("key",APPKEY) /APP Key param.Set("v","") /JSON格式版本(0或1)默認(rèn)為0 /發(fā)送請(qǐng)求 data
7、,err:=Get(juhe,param) if err!=nil fmt.Errorf("請(qǐng)求失敗,錯(cuò)誤信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") /2.上海期貨交易所func Request2() /請(qǐng)求地址
8、 juhe :="web:8080/finance/gold/shfuture" /初始化參數(shù) param:=.Values /配置請(qǐng)求參數(shù),方法內(nèi)部已處理encode問(wèn)題,中文參數(shù)可以直接傳參 param.Set("key",APPKEY) /APP Key param.Set("v","") /JSON格式版本(0或1)默認(rèn)為0 /發(fā)送請(qǐng)求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("請(qǐng)求失敗,錯(cuò)誤信息:rn%v",err) else
9、var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回result字段是:rn%v",netReturn"result") /3.銀行賬戶黃金func Request3() /請(qǐng)求地址 juhe :="web:8080/finance/gold/bankgold" /初始化參數(shù) param:=.Values /配置請(qǐng)求參數(shù),方法
10、內(nèi)部已處理encode問(wèn)題,中文參數(shù)可以直接傳參 param.Set("key",APPKEY) /APP Key /發(fā)送請(qǐng)求 data,err:=Get(juhe,param) if err!=nil fmt.Errorf("請(qǐng)求失敗,錯(cuò)誤信息:rn%v",err) else var netReturn mapstringinterface json.Unmarshal(data,&netReturn) if netReturn"error_code".(float64)=0 fmt.Printf("接口返回res
11、ult字段是:rn%v",netReturn"result") / get 網(wǎng)絡(luò)請(qǐng)求func Get(api string,params .Values)(rsbyte ,err error) var *. ,err=.Parse(api) if err!=nil fmt.Printf("解析錯(cuò)誤:rn%v",err) return nil,err /如果參數(shù)中有中文參數(shù),這個(gè)方法會(huì)進(jìn)行Encode .RawQuery=params.Encode() resp,err:=http.Get(.String() if err!=nil fmt.Pr
12、intln("err:",err) return nil,err defer resp.Body.Close() return ioutil.ReadAll(resp.Body) / post 網(wǎng)絡(luò)請(qǐng)求 ,params 是.Values類型func Post(api string, params .Values)(rsbyte,err error) resp,err:=http.PostForm(api, params) if err!=nil return nil ,err defer resp.Body.Close() return ioutil.ReadAll(res
13、p.Body)代碼描述:基于GO的黃金數(shù)據(jù)接口調(diào)用代碼實(shí)例關(guān)聯(lián)數(shù)據(jù):黃金數(shù)據(jù)代碼 C#代碼 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.IO;using Xfrog.Net;using System.Diagnostics;using System.Web; /-/ 黃金數(shù)據(jù)調(diào)用示例代碼 聚合數(shù)據(jù)/ 在線接口文檔:www/docs/29/ 代碼中JsonObject類下載地址:/- namespace Console
14、API class Program static void Main(string args) string appkey = "*" /配置您申請(qǐng)的appkey /1.上海黃金交易所 string 1 = "web:8080/finance/gold/shgold" var parameters1 = new Dictionary<string, string>(); parameters1.Add("key", appkey);/你申請(qǐng)的key parameters1.Add("v" , "
15、;"); /JSON格式版本(0或1)默認(rèn)為0 string result1 = sendPost(1, parameters1, "get"); JsonObject newObj1 = new JsonObject(result1); String errorCode1 = newObj1"error_code".Value; if (errorCode1 = "0") Debug.WriteLine("成功"); Debug.WriteLine(newObj1); else /Debug.Write
16、Line("失敗"); Debug.WriteLine(newObj1"error_code".Value+":"+newObj1"reason".Value); /2.上海期貨交易所 string 2 = "web:8080/finance/gold/shfuture" var parameters2 = new Dictionary<string, string>(); parameters2.Add("key", appkey);/你申請(qǐng)的key param
17、eters2.Add("v" , ""); /JSON格式版本(0或1)默認(rèn)為0 string result2 = sendPost(2, parameters2, "get"); JsonObject newObj2 = new JsonObject(result2); String errorCode2 = newObj2"error_code".Value; if (errorCode2 = "0") Debug.WriteLine("成功"); Debug.Write
18、Line(newObj2); else /Debug.WriteLine("失敗"); Debug.WriteLine(newObj2"error_code".Value+":"+newObj2"reason".Value); /3.銀行賬戶黃金 string 3 = "web:8080/finance/gold/bankgold" var parameters3 = new Dictionary<string, string>(); parameters3.Add("ke
19、y", appkey);/你申請(qǐng)的key string result3 = sendPost(3, parameters3, "get"); JsonObject newObj3 = new JsonObject(result3); String errorCode3 = newObj3"error_code".Value; if (errorCode3 = "0") Debug.WriteLine("成功"); Debug.WriteLine(newObj3); else /Debug.WriteLin
20、e("失敗"); Debug.WriteLine(newObj3"error_code".Value+":"+newObj3"reason".Value); / <summary> / Http (GET/POST) / </summary> / <param name="">請(qǐng)求</param> / <param name="parameters">請(qǐng)求參數(shù)</param> / <param na
21、me="method">請(qǐng)求方法</param> / <returns>響應(yīng)內(nèi)容</returns> static string sendPost(string , IDictionary<string, string> parameters, string method) if (method.ToLower() = "post") HttpWebRequest req = null; HttpWebResponse rsp = null; System.IO.Stream reqStream =
22、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, &
23、quot;utf8"); reqStream = req.GetRequestStream(); reqStream.Write(postData, 0, postData.Length); rsp = (HttpWebResponse)req.GetResponse(); Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); return GetResponseAsString(rsp, encoding); catch (Exception ex) return ex.Message; finally if (re
24、qStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); else /創(chuàng)建請(qǐng)求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create( + "?" + BuildQuery(parameters, "utf8"); /GET請(qǐng)求 request.Method = "GET" request.ReadWriteTimeout = 5000; request.ContentType = "te
25、xt/html;charset=UTF-8" HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"); /返回內(nèi)容 string retString = myStreamReader.Rea
26、dToEnd(); return retString; / <summary> / 組裝普通文本請(qǐng)求參數(shù)。 / </summary> / <param name="parameters">Key-Value形式請(qǐng)求參數(shù)字典</param> / <returns>編碼后的請(qǐng)求數(shù)據(jù)</returns> static string BuildQuery(IDictionary<string, string> parameters, string encode) StringBuilder post
27、Data = new StringBuilder(); bool hasParam = false; IEnumerator<KeyValuePair<string, string>> dem = parameters.GetEnumerator(); while (dem.MoveNext() string name = dem.Current.Key; string value = dem.Current.Value; / 忽略參數(shù)名或參數(shù)值為空的參數(shù) if (!string.IsNullOrEmpty(name)/&& !string.IsNull
28、OrEmpty(value) if (hasParam) postData.Append("&"); postData.Append(name); postData.Append("="); if (encode = "gb2312") postData.Append(HttpUtility.Encode(value, Encoding.GetEncoding("gb2312"); else if (encode = "utf8") postData.Append(HttpUtility
29、.Encode(value, Encoding.UTF8); else postData.Append(value); hasParam = true; return postData.ToString(); / <summary> / 把響應(yīng)流轉(zhuǎn)換為文本。 / </summary> / <param name="rsp">響應(yīng)流對(duì)象</param> / <param name="encoding">編碼方式</param> / <returns>響應(yīng)文本</ret
30、urns> static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding) System.IO.Stream stream = null; StreamReader reader = null; try / 以字符流的方式讀取HTTP響應(yīng) stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); finally / 釋放資源 if (reader !=
31、null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); 代碼 PHP代碼 /* * c遠(yuǎn)程傳輸工具 */public function post_c($,$body,$header,$type='POST') $ch = c_init(); c_setopt($ch,COPT_,$); c_setopt($ch,COPT_HEADER,0);/0只要正文 c_setopt($ch,COPT_TIMEOUT,5);/設(shè)置超時(shí)時(shí)間 c_setopt($ch,COP
32、T_CONNECTTIMEOUT,5); /將c_exec()獲取的信息以文件流的形式返回,而不是直接輸出。 c_setopt($ch,COPT_RETURNTRANSFER,1); /增加header頭信息 / array_push($header,'Accept:application/json'); / array_push($header,'Content-Type:application/json'); / array_push($header,'http:multipart/form-data'); if(count($body)&g
33、t;0) c_setopt($ch,COPT_POSTFIELDS,$body); if(count($header)>0) c_setopt($ch,COPT_HTTPHEADER,$header); /設(shè)置上傳文件相關(guān) c_setopt($ch,COPT_FOLLOWLOCATION,true); c_setopt($ch,COPT_MAXREDIRS,3);/遞歸 c_setopt($ch,COPT_SSL_VERIFYPEER,false);/ 對(duì)認(rèn)證證書(shū)來(lái)源的檢查 c_setopt($ch,COPT_SSL_VERIFYHOST,0);/ 從證書(shū)中檢查SSL加密算法 switc
34、h ($type) case 'GET': c_setopt($ch,COPT_HTTPGET,1); break; case 'POST': c_setopt($ch,COPT_POST,1); break; case 'PUT': c_setopt($ch,COPT_CUSTOMREQUEST,'PUT'); break; case 'DELETE': c_setopt($ch,COPT_CUSTOMREQUEST,'DELETE'); break; /上傳文件相關(guān)設(shè)置 c_setopt($ch
35、,COPT_ENCODING,'gzip'); c_setopt($ch,COPT_USERAGENT,'SSTS Browser/1.0'); c_setopt($ch,COPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');/ 模擬用戶使用的瀏覽器 if(c_errno($ch) return c_error($ch); $content = c_exec($ch); c_close($ch);/關(guān)閉c資源,并且釋放系統(tǒng)資源 $resu
36、lt = json_decode($content,true); if(!empty($result) return $result; else return $content; 代碼 C/C+代碼 /*編譯指令$ /opt/sybase/OCS-16_0/bin/cpre64 -m teststu.cp$ cc -m64 -g -DSYB_LP64 -I. -I/opt/sybase/OCS-16_0/include teststu.c /opt/sybase/OCS-16_0/include/sybesql.c -L/opt/sybase/OCS-16_0/lib -lsybct64 -l
37、sybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64 -rdynamic -ldl -lnsl -lm -o teststu*/#include <stdio.h> /*建立通訊區(qū)域*/EXEC SQL INCLUDE SQLCA;/* * These tokens must be declared in a declare section* because they are used in declare sections below.*/EXEC SQL BEGIN DECLARE SECTION;#define TYPE
38、SIZE 13#define TIDSIZE 6EXEC SQL END DECLARE SECTION; #define EOLN '0'/* * Forward declarations of the error and message handlers and* other subroutines called from main().*/void error_handler();void warning_handler(); intmain(int argc, char *argv)/*聲明宿主變量*/ EXEC SQL BEGIN DECLARE SECTION; /
39、* storage for login name and password. */ char username30; char sname30; char password30; char server30; EXEC SQL END DECLARE SECTION;/*錯(cuò)誤處理*/ EXEC SQL WHENEVER SQLERROR CALL error_handler(); EXEC SQL WHENEVER SQLWARNING CALL warning_handler(); EXEC SQL WHENEVER NOT FOUND CONTINUE;/*連接到 SQL SERVER 服
40、務(wù)器*/ /* * Copy the user name and password defined in sybsqlex.h to * the variables declared for them in the declare section. */ strcpy(username, "mymotif"); strcpy(password, "wxwpxh"); strcpy(server, "MYMOTIFVOSTRO145480"); EXEC SQL CONNECT :username IDENTIFIED BY :pass
41、word using :server; EXEC SQL USE testdb; EXEC SQL DECLARE c1 CURSOR FOR SELECT SNAME FROM STUDENT; EXEC SQL OPEN c1; printf("name in table studentn"); do EXEC SQL FETCH c1 INTO :sname; if (sqlca.sqlcode != 0) break; printf( "student name = %sn", sname ); while ( 1 ); EXEC SQL CLO
42、SE c1; return(0); 秦皇島同城購(gòu) 侭侰侮 /*錯(cuò)誤處理程序*/* void error_handler()* * Displays error codes and numbers from the SQLCA and exits with* an ERREXIT status. */voiderror_handler(void) fprintf(stderr, "n* SQLCODE=(%ld)", sqlca.sqlcode); if (sqlca.sqlerrm.sqlerrml) fprintf(stderr, "n* ASE Error &
43、quot;); fprintf(stderr, "n* %s", sqlca.sqlerrm.sqlerrmc); fprintf(stderr, "nn"); exit(-1); /* void warning_handler()* * Displays warning messages.*/voidwarning_handler(void) if (sqlca.sqlwarn1 = 'W') fprintf(stderr, "n* Data truncated.n"); if (sqlca.sqlwarn3 = &
44、#39;W') fprintf(stderr, "n* Insufficient host variables to store results.n"); return;代碼 Log4j配置 <!- 日志jar -> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency>導(dǎo)入這個(gè)包,會(huì)引入下面兩個(gè)jar<!-spring 的基本jar包 ->
45、; <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!- commons-login是必須的,而且沒(méi)有依賴,是獨(dú)立的包 -> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> <version>1.1</version> </dependency><dependency><!- transactionManager實(shí)務(wù)管理的時(shí)候,需要這個(gè)jar包 -> <groupId>org.springframework</groupId> <ar
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025典范企業(yè)YY合同
- 品茶員技能考試試題及答案
- 普寧科目一考試試題及答案
- 內(nèi)蒙護(hù)士考試試題及答案
- 湖南法網(wǎng)考試試題及答案
- 民樂(lè)保安考試試題及答案
- 個(gè)人汽車(chē)借用合同范例
- 公司承兌合同范例
- 湖北省百?gòu)?qiáng)縣市區(qū)教科研聯(lián)盟2025屆九年級(jí)下學(xué)期中考二模(4月聯(lián)考)數(shù)學(xué)試卷(含答案)
- 甘肅省張掖市某校2024-2025學(xué)年高二下學(xué)期期中地理試卷(含答案)
- 2025-2030中國(guó)非調(diào)質(zhì)鋼市場(chǎng)供需狀況與未來(lái)發(fā)展戰(zhàn)略規(guī)劃研究研究報(bào)告
- 2025年四川省自然資源投資集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 2025重慶機(jī)場(chǎng)集團(tuán)限公司公開(kāi)招聘46人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年浙江省寧波市一??茖W(xué)試卷
- 《Python數(shù)據(jù)可視化》全套教學(xué)課件
- 河北省2025年普通高中學(xué)業(yè)水平選擇性考試·調(diào)研卷I語(yǔ)文+答案
- 河南省南陽(yáng)市六校2024-2025學(xué)年高二下學(xué)期4月期中考試語(yǔ)文試卷(圖片版含答案)
- 泰語(yǔ)高級(jí)測(cè)試題及答案
- 土地合同轉(zhuǎn)讓三方協(xié)議書(shū)
- 聚焦財(cái)稅場(chǎng)景的AIBM生態(tài)服務(wù)行業(yè)白皮書(shū)
- 2024年綿陽(yáng)市商業(yè)銀行招聘考試真題
評(píng)論
0/150
提交評(píng)論