curl --digest -u username:mima "http://192.168.1.101:2010/media/create?owner_uid=azuki&media_uid=test123" --data "<media><name>test123</name><url>ftp://192.168.1.105/12689650.flv</url></media>"
这curl命令行换成C#的形式 要怎么POST到服务器?
或者是如果把 test123改成中文名的话用 curl命令行怎么转码? <name>test123</name>
我试了下
curl --digest -u username:mima "http://192.168.1.101:2010/media/create?owner_uid=azuki&media_uid=test123" --data "<media><name>中文</name><url>ftp://192.168.1.105/12689650.flv</url></media>"
服务器一直返回错误....如果不是中文服务器就可以成功接受!
哪位大神帮忙看看!谢谢!
对于post而言,传输的数据全部都是文本,没有这种区别。。。
看这个:http://en.csharp-online.net/HTTP_Post
和msdn:http://msdn.microsoft.com/zh-cn/library/system.net.webrequest%28v=vs.80%29.aspx
下面这个函数,parameters就是你要传入的字符串。但是你的post不合符规范。post的数据按照规范是有个名称一个值的。例如,a=xxx&b=xxxx;你那个就是个xml。我不确定你这个是对的,但是如果你认为是对的,就这么上吧。
string HttpPost (string uri, string parameters) { // parameters: name1=value1&name2=value2 WebRequest webRequest = WebRequest.Create (uri);
//string ProxyString = // System.Configuration.ConfigurationManager.AppSettings // [GetConfigKey("proxy")];
//下面这句是代理说明,没有的话记得设置为null,不然会试图取得系统代理设置,要很长时间(如果没代理的话)
//webRequest.Proxy = new WebProxy (ProxyString, true); //Commenting out above required change to App.Config
//下面这句是表单类型。模拟表单提交。
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes (parameters);
Stream os = null;
try { // send the Post
webRequest.ContentLength = bytes.Length;
//Count bytes to send
os = webRequest.GetRequestStream();
os.Write (bytes, 0, bytes.Length);
//Send it }
catch (WebException ex)
{ MessageBox.Show ( ex.Message, "HttpPost: Request error", MessageBoxButtons.OK, MessageBoxIcon.Error ); }
finally { if (os != null) { os.Close(); } }
try { // get the response WebResponse
webResponse = webRequest.GetResponse();
if (webResponse == null) { return null; }
StreamReader sr = new StreamReader (webResponse.GetResponseStream());
return sr.ReadToEnd ().Trim (); }
catch (WebException ex)
{ MessageBox.Show ( ex.Message, "HttpPost: Response error", MessageBoxButtons.OK, MessageBoxIcon.Error ); }
return null; } // end HttpPost
MSDN里头写了有用户名和密码要求的时候的写法,request.Credentials = CredentialCache.DefaultCredentials;自己看下。
c#哪有这种命令啊,写几行代码吧,是get还是post,自己看着办。
我知道没这种命令,就是用c# POST怎么传这种数据,在?后面既有参数,又要带 xml数据的
在弄一个参数把xml放进去
楼主你好,我看到你在10年的时候发了个帖子询问如何在asp.net里面后台cs文件里面修改或者保存前台js中用var定义的变量,你说你找到了方法,请问可以教我一下吗?现在我也被这个问题困扰。谢谢。
太久了有点忘了,好像是这样的,找不到切切的访问var的变量改这样的
<input type="hidden" id="ImageUrl" runat="server" style="width: 1px" />
<script type="text/javascript">
var focus_width=221
var focus_height=150
var text_height=0
var swf_height = focus_height+text_height
// var pics='Images/1.jpg|Images/2.jpg|Images/3.jpg|Images/4.jpg'
var links='||'
var texts=''
var banner='<param name="allowscriptAccess" value="sameDomain"><param name="movie" value="images/banner.swf"><param name="quality" value="high"><param name="bgcolor" value="#DADADA">'
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ focus_width +'" height="'+ swf_height +'">');
document.write(banner);
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
document.write('<param name="FlashVars" value="pics='+document.getElementById("ImageUrl").value+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'">');
document.write('</object>');
</script>
CS,这样写:ImageUrl.Value = paths[2].Substring(3) + "|" + paths[3].Substring(3) + "|" + paths[4].Substring(3) + "|" + paths[5].Substring(3);
@Lonely Bandit: 好的好的,谢谢。还能给我回复,真的很意外。呵呵,再次表示感谢。认真看一下。