菜鸟教程小白 发表于 2022-12-11 20:26:14

c# - 我如何将 .net 的 HttpWebRequest 移植到 iOs 的 URLRequest


                                            <p><p>如何将以下.net HttpWebRequest 移植到objective-c?</p>

<p>我从一位同事那里获得了代码片段,用于在 .net 中向某个服务器发出 POST 请求,并且需要在 iOs 中实现相同的代码片段。我应该只使用 NSMutableURLRequest 和 NSURLConnection 以及它们各自的代表还是做其他事情?</p>

<p>下面是同事的C#源码片段:</p>

<pre><code>public void SendMessage(ref string Message)
{
   if (m_pURL == null) return;

   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m_pURL);
   request.Method = &#34;POST&#34;;
   request.ContentLength = Message.Length;
   request.AllowWriteStreamBuffering = false;
   request.UseDefaultCredentials = true;

   RequestState request_state = new RequestState();
   request_state.Request = request;
   request_state.RequestData.Append(Message);
   request.BeginGetRequestStream(WriteCallBack, request_state);
   request = null;
}

private void WriteCallBack(IAsyncResult iar)
{
   try
   {
   RequestState request_state = (RequestState)iar.AsyncState;
   HttpWebRequest request = request_state.Request;
   Stream stream = request.EndGetRequestStream(iar);

   byte[] buffer = Encoding.UTF8.GetBytes(request_state.RequestData.ToString());
                  stream.Write(buffer, 0, buffer.Length);
                  stream.Close();
                  request.BeginGetResponse(getRequestResult =&gt; { },null);
   }
   catch { }
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>是的,您可以使用 NSURLRequest。 </p>

<p>查看文档。我相信有显示发布请求的示例代码。 </p>

<p> <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/" rel="noreferrer noopener nofollow">http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/</a> </p>

<p>以下是有关其工作原理的完整文档。 </p>

<p> <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i" rel="noreferrer noopener nofollow">http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i</a> </p>

<p>更新:</p>

<p>Mobiata 创建的一个新项目是开源的,并且更易于用于 HTTP 请求。</p>

<p> <a href="https://github.com/mobiata/MBRequest" rel="noreferrer noopener nofollow">https://github.com/mobiata/MBRequest</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于c# - 我如何将 .net 的 HttpWebRequest 移植到 iOs 的 URLRequest,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7966913/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7966913/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c# - 我如何将 .net 的 HttpWebRequest 移植到 iOs 的 URLRequest