2012-02-03 74 views
0

我正在使用PASTEBIN api粘贴soem C#代码。除了当我的代码包含'&'时,所有工作都很好,这对我来说听起来很奇怪,因为我使用的是Uri.EscapeUriString。这里创建我的有效载荷代码:PasteBin API无法将代码粘贴到'&'

private byte[] GetUploadData(string key, string s, string lang) 
    { 
     var payload = string.Join("&", new string[] 
     { 
      "api_option=paste" 
      ,"api_dev_key=1234567890000000000000000000" 
      ,"api_user_key="+login 
      ,"api_paste_code="+Uri.EscapeUriString(s) 
      ,"api_paste_expire_date=N" 
      ,"api_paste_format="+lang 
      ,"api_paste_name="+Uri.EscapeUriString(key) 
      ,"api_paste_private = 0" 

     } 
     ); 
     return System.Text.Encoding.UTF8.GetBytes(payload); 
    } 
当代码中包含“&”它被截断

。 什么可能是错的?

+0

login和lang没有转义? – vulkanino 2012-02-03 14:51:35

回答

1

使用Uri.EscapeDataString代替