介面訪問方式 備忘

2022-07-15 15:00:10 字數 3103 閱讀 3992

//body是要傳遞的引數,格式"roleid=1&uid=2"

//post的cotenttype填寫:

//soap填寫:"text/xml; charset=utf-8"

post方法(httpwebrequest)

/// /// 通過webclient類post資料到遠端位址,需要basic認證;

/// 呼叫端自己處理異常

///

///

/// name=張三&age=20

/// 請先確認目標網頁的編碼方式

///

///

///

public static string request_webclient(string uri, string paramstr, encoding encoding, string username, string password)

byte responsedata = wc.uploaddata(uri, "post", postdata); // 得到返回字元流

return encoding.getstring(responsedata);// 解碼

}post方法(webclient)

}get方法(httpwebrequest)

/// /// 通過 webrequest/webresponse 類訪問遠端位址並返回結果,需要basic認證;

/// 呼叫端自己處理異常

///

///

/// 訪問超時時間,單位毫秒;如果不設定超時時間,傳入0

/// 如果不知道具體的編碼,傳入null

///

///

///

public static string request_webrequest(string uri, int timeout, encoding encoding, string username, string password)

if (timeout > 0)

request.timeout = timeout;

webresponse response = request.getresponse();

stream stream = response.getresponsestream();

streamreader sr = encoding == null ? new streamreader(stream) : new streamreader(stream, encoding);

result = sr.readtoend();

sr.close();

stream.close();

return result;

}#region # 生成 http basic 訪問憑證 #

private static credentialcache getcredentialcache(string uri, string username, string password)

:", username, password);

credentialcache credcache = new credentialcache();

credcache.add(new uri(uri), "basic", new networkcredential(username, password));

return credcache;

}private static string getauthorization(string username, string password)

:", username, password);

return "basic " + convert.tobase64string(new asciiencoding().getbytes(authorization));

}#endregion

basic驗證的webrequest/webresponse

C 帶參訪問介面,WebClient方式

例項化 webclient client new webclient 位址 string path 資料較大的引數 引數轉流 byte bytearray encoding.utf8.getbytes datastr 採取post方式必須加的header,如果改為get方式的話就去掉這句話即可 cl...

Golang 介面 防備忘

介面定義其實就是面對物件裡面的多型性,而且比面對物件裡面的更容易理解。介面定義了一組方法 方法集 但是這些方法不包含 實現 它們沒有被實現 它們是抽象的 介面裡也不能包含變數。type namer inte ce 上面的 namer 是乙個 介面型別。按照約定,只包含乙個方法的 介面的名字由方法名加...

訪問Servlet的API的實現介面方式

此種方式,需要我們的action 類實現一些介面 第三種方式 採用實現介面的方式,來獲取物件能夠使用物件的 原因 是因為在我們的 sayhello 方法執行之前,已經有一些 執行了。通過 struts default.xml 我們能知道預設的 棧 defaultstack,在我們的動作配置時,預設就...