gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:07 24 4
gpt4 key购买 nike

如何将以下 .net HttpWebRequest 移植到 objective-c?

我从同事那里得到了代码片段,用于在 .net 中向特定服务器发出 POST 请求,并且需要在 iOs 中实现相同的代码片段。我应该只使用 NSMutableURLRequest 和 NSURLConnection 及其各自的代表还是做其他事情?

下面是同事用 C# 编写的源代码片段:

public void SendMessage(ref string Message)
{
if (m_pURL == null) return;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m_pURL);
request.Method = "POST";
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 => { },null);
}
catch { }
}

最佳答案

是的,你可以使用 NSURLRequest。

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

http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/

这是有关其工作原理的完整文档。

http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html#//apple_ref/doc/uid/10000165i

更新:

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

https://github.com/mobiata/MBRequest

关于c# - 我如何将 .net 的 HttpWebRequest 移植到 iOs 的 URLRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7966913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com