本文整理汇总了C#中System.Net.WebRequest.GetRequestStream方法的典型用法代码示例。如果您正苦于以下问题:C# WebRequest.GetRequestStream方法的具体用法?C# WebRequest.GetRequestStream怎么用?C# WebRequest.GetRequestStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.WebRequest
的用法示例。
在下文中一共展示了WebRequest.GetRequestStream方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EasyWebRequest
public EasyWebRequest(string method, string userName, string password, string authID, string masterKey, string baseURL, string contraint)
{
request = WebRequest.Create(baseURL);
request.ContentType = "text/xml";
request.Credentials = new NetworkCredential(userName, password);
request.Headers.Add("X-Parse-Application-Id: " + authID);
request.Headers.Add("X-Parse-Master-Key: " + masterKey);
if (method.Equals("GET") || method.Equals("POST"))
request.Method = method;
else
throw new Exception("Invalid Method Type");
string postData = contraint;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
}
示例2: SetRequestBody
private static void SetRequestBody(WebRequest webRequest, string body)
{
byte[] buffer = Encoding.UTF8.GetBytes(body);
webRequest.ContentLength = buffer.Length;
using (Stream requestStream = webRequest.GetRequestStream())
requestStream.Write(buffer, 0, buffer.Length);
}
示例3: WritePost
public static void WritePost(WebRequest request, string post)
{
using(var stream = request.GetRequestStream())
using(var writer = new StreamWriter(stream)) {
writer.Write(post);
}
}
示例4: CreateMultipartRequest
public void CreateMultipartRequest(WebRequest request)
{
string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x", CultureInfo.InvariantCulture);
request.ContentType = "multipart/form-data; boundary=" + boundary;
request.ContentLength = CalculateContentLength(boundary);
using (Stream stream = request.GetRequestStream())
{
foreach (var item in _formData)
{
string header = String.Format(CultureInfo.InvariantCulture, FormDataTemplate, boundary, item.Key, item.Value);
byte[] headerBytes = Encoding.UTF8.GetBytes(header);
stream.Write(headerBytes, 0, headerBytes.Length);
}
byte[] newlineBytes = Encoding.UTF8.GetBytes(Environment.NewLine);
foreach (var file in _files)
{
string header = String.Format(CultureInfo.InvariantCulture, FileTemplate, boundary, file.FieldName, file.FieldName, file.ContentType);
byte[] headerBytes = Encoding.UTF8.GetBytes(header);
stream.Write(headerBytes, 0, headerBytes.Length);
Stream fileStream = file.FileFactory();
fileStream.CopyTo(stream, bufferSize: 4 * 1024);
fileStream.Close();
stream.Write(newlineBytes, 0, newlineBytes.Length);
}
string trailer = String.Format(CultureInfo.InvariantCulture, "--{0}--", boundary);
byte[] trailerBytes = Encoding.UTF8.GetBytes(trailer);
stream.Write(trailerBytes, 0, trailerBytes.Length);
}
}
示例5: SendHttpPost
public static string SendHttpPost(WebRequest request, YahooMessengerAuthentication authentication, string content)
{
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(content);
request.ContentLength = byteArray.Length;
var dataStream = request.GetRequestStream();
// Write the data to the request stream.
dataStream.Write(byteArray, 0, byteArray.Length);
// Close the Stream object.
dataStream.Close();
using(var response = (HttpWebResponse) request.GetResponse())
{
if (response == null) throw new NullReferenceException();
var respCode = response.StatusCode;
if (respCode != HttpStatusCode.OK)
throw new HttpException(HttpException.HTTP_OK_NOT_RECEIVED, respCode.ToString());
dataStream = response.GetResponseStream();
if (dataStream == null) throw new NullReferenceException();
var reader = new StreamReader(dataStream);
var responseFromServer = new StringBuilder("");
responseFromServer.Append(reader.ReadToEnd());
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer.ToString();
}
}
示例6: Worker
private void Worker()
{
try
{
//Main.Log("Creating request...");
request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
//30 Second timeout instead of 2 minutes before.
request.Timeout = 30000;
//Main.Log("Waiting for response...");
if (this.ispost == true && this.postdata != null)
{
request.Method = "POST";
byte[] bytePostData = Encoding.UTF8.GetBytes(postdata);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytePostData.Length;
Stream postStream = request.GetRequestStream();
postStream.Write(bytePostData, 0, bytePostData.Length);
postStream.Close();
}
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response == null)
{
// Uhh panic what do we do
Logger.Error("AsyncWebRequest panic: Response is null!");
return;
}
//Main.Log("Reading response stream...");
Stream strm = response.GetResponseStream();
StreamReader rdr = new StreamReader(strm);
Response = rdr.ReadToEnd();
ResponseCode = (int)response.StatusCode;
rdr.Close();
strm.Close();
response.Close();
//Main.Log("Web request complete.");
}
catch (WebException webex)
{
var response = webex.Response as HttpWebResponse;
Response = webex.Message;
ResponseCode = (int)response.StatusCode;
}
catch (Exception ex)
{
Response = ex.ToString();
ResponseCode = -1;
Logger.Error(ex.ToString());
}
finally
{
Complete = true;
}
}
示例7: WriteStringToRequestStream
public static void WriteStringToRequestStream(WebRequest request, string data)
{
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(data);
streamWriter.Flush();
}
}
示例8: GetRequestStream
public static Stream GetRequestStream(WebRequest request)
{
#if WINDOWS_PHONE
return WebRequestStreamHelper.GetRequestStreamInternal(request);
#else
return request.GetRequestStream();
#endif
}
示例9: SetRequestBody
private void SetRequestBody(WebRequest request, string body)
{
var byteArray = Encoding.UTF8.GetBytes(body);
request.ContentLength = byteArray.Length;
var dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
}
示例10: Auth
public void Auth()
{
// setup connection to endpoint
request = WebRequest.Create(baseUrl + "auth");
// compute HMAC
var enc = Encoding.ASCII;
HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(privateKey));
hmac.Initialize();
var timestamp = DateTime.Now.ToString(@"MM\/dd\/yyyy hh\:mm");
byte[] buffer = enc.GetBytes(publicKey + timestamp + salt);
var hash = BitConverter.ToString(hmac.ComputeHash(buffer)).Replace("-", "").ToLower();
request.Headers ["X-Coursio-apikey"] = publicKey;
request.Headers ["X-Coursio-time"] = timestamp;
request.Headers ["X-Coursio-random"] = salt;
request.Headers ["X-Coursio-hmac"] = hash;
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes ("{\"method\":\"loginHmac\"}");
// Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length;
// Write data to the Stream
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close ();
// Get the response.
WebResponse response = request.GetResponse ();
// Get the stream content and read it
Stream dataStream2 = response.GetResponseStream ();
StreamReader reader = new StreamReader (dataStream2);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Clean up
reader.Close ();
dataStream2.Close ();
response.Close ();
Regex regex = new Regex(@"""sessionId"":""(.*?)""");
Match match = regex.Match(responseFromServer);
if (match.Success)
{
sessionId = match.Groups[1].Value;
}
else
{
throw new System.Exception ("Login failed");
}
}
示例11: WriteStreamRequestToTarget
public override void WriteStreamRequestToTarget(HttpContextBase context, WebRequest request)
{
var serviceBusContext = (AzureServiceBusHttpContext)context;
var requestContext = serviceBusContext.RequestContext;
using (var requestStream = request.GetRequestStream())
{
_webEncoder.WriteMessage(requestContext.RequestMessage, requestStream);
}
}
示例12: SshCommand
public SshCommand(WebRequest request)
{
this.request = request;
this.headers = new WebHeaderCollection ();
process = Process.Start (new ProcessStartInfo {
FileName = OpenSSHSyncExt.SSH,
Arguments = "-q -o 'BatchMode=yes' -o 'PasswordAuthentication=no' " + GetSession (request) + " " + GetCommand (request),
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardInput = true,
RedirectStandardOutput = true
});
if (request.GetRequestStream () != null) {
request.GetRequestStream ().CopyTo (process.StandardInput.BaseStream);
}
}
示例13: AddPostData
private static void AddPostData(WebRequest webRequest, string data)
{
webRequest.Method = "POST";
var bytes = Encoding.UTF8.GetBytes(data);
webRequest.ContentLength = bytes.Length;
webRequest.ContentType = "application/x-www-form-urlencoded";
using (var requestStream = webRequest.GetRequestStream())
{
requestStream.Write(bytes, 0, bytes.Length);
}
}
示例14: connectionInit
private void connectionInit(CaptchaTraderRequestType type, String username, String password)
{
string param = (type.doPost || username == null || password == null) ? "" : "/username:" + username + "/password:" + password;
_url = new Uri(type.url + param + ".xml");
_urlConnection = WebRequest.Create(_url);
_urlConnection.Method = (type.doPost ? "POST" : "GET");
if (type.doPost)
{
_urlConnection.ContentType = "multipart/form-data; boundary=" + _boundary;
_os = _urlConnection.GetRequestStream();
}
}
示例15: AddRequestBody
/// <summary>
/// Method for adding a request body for put and post
/// http calls.
/// </summary>
/// <param name="webRequest"></param>
/// <param name="request"></param>
private void AddRequestBody(ref WebRequest webRequest, HttpRequest request)
{
byte[] byteArray = Encoding.UTF8.GetBytes(request.Body);
webRequest.ContentType = request.ContentType ?? "text/xml; charset=UTF-8";
webRequest.ContentLength = byteArray.Length;
using (Stream requestBody = webRequest.GetRequestStream())
{
requestBody.Write(byteArray, 0, byteArray.Length);
requestBody.Close();
}
}