场景如下:我们有一个 iOS 应用程序,它向我的 .NET Web API 发出 HTTP POST 请求。调用的方法是PostPicture
(如下):
// POST api/blah
[HttpPost]
public string PostPicture(HttpRequestMessage msg)
{
HttpContext context = HttpContext.Current;
etc...
如您所见,此方法采用HttpRequestMessage
. 我遇到的问题是我经常不得不依靠 iOS 应用程序来进行调用,只是为了能够传入HttpRequestMessage
测试我的 .NET 代码。
我让 iOS 开发人员将设备 (iOS) 发送到我的 Web API 的 HTTP POST 内容发送给我。他以文本文件的形式发送了它。
问题:有没有什么办法可以HttpRequestObject
在我的代码中获取这些原始内容并基本上用这些内容模拟一个 HTTP POST 请求(当然还基于这些内容创建一个)?
这是他发给我的 HTTP POST 内容:
{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370
{\fonttbl\f0\fnil\fcharset0 Menlo-Bold;\f1\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;\red81\green112\blue255;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab529
\pard\tx529\pardeftab529\pardirnatural
\f0\b\fs22 \cf0 \CocoaLigature0 2013-06-14 15:17:32.969 blah[11765:907] insertEntity URL: http://domain/blahWS/API/blah/PostPicture\
\pard\tx529\pardeftab529\pardirnatural
\f1\b0 \cf0 Printing description of mikeTest:\
\{\
"imageDataBlob" : "JVBERi0xLjMKJcTl8uXrp\\/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAg\\nUiAvRmlsdGVyIC9GbG...",\
"layer" : "0",\
"blah" : "YES",\
"pdf" : "JVBERi0xLjMKJcTl8uXrp\\/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAg\\nUiAvRmlsdGVyIC9GbG...",\
"imageCount" : "3",\
"groupID" : "1_userName",\
"longitude" : -95.98030149945615,\
"latitude" : 36.74866412304039,\
"JsonData" : "[\{ \\"geometry\\" : \{\\"x\\":-95.98030149945615 , \\"y\\": 36.74866412304039\} ,\\"attributes\\":\{ \\"Feature\\" : \\"Chemical_Treatment\\",\\"Type\\" : \\"\\",\\"Prod_Name\\" : \\"\\",\\"Line_Dia\\" : \\"\\",\\"Line_Mat\\" : \\"Select\\",\\"Prspct_Fld\\" : \\"\\",\\"Comments\\" : \\"\\",\\"HTML_LINK\\":\\"http:\\/\\/subdomain.url.net\\/blahWS\\/ImageViewer\\/Display\\/1_userName_2013-06-14_15:17:02\\",\\"APP_LAT\\":\\"36.74866412304039\\",\\"APP_LONG\\":\\"-95.98030149945615\\", \\"groupID\\":\\"1_userNamep_2013-06-14_15:17:02\\"\}\}]",\
"Timestamp" : "2013-01-01 12:12:23",\
"username" : "_userName"\
\}\
\pard\tx529\pardeftab529\pardirnatural
\f0\b \cf2 (lldb) }