2010-02-14 200 views
1

余米试图嵌入批量短信API在我的网站...但代码是给401远程服务器返回错误:(401)未经授权

ASPX:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>%> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
    <title>Send SMS</title> 
</head> 
<body> 
    <form id="form2" runat="server"> 
    <div> 
    </div> 
    </form> 
</body> 
</html> 

ASPX.CS

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Text; 
using System.IO; 
using System.Net; 
using System.Web.Services; 

public partial class _Default : System.Web.UI.Page 
{ 
    public void SendSMS() 
    { 
     UriBuilder urlBuilder = new UriBuilder(); 
     urlBuilder.Host = "IP"; 
     urlBuilder.Port = port; 

     string UserName = "username"; 
     string password = "password"; 
     string PhoneNumber = "919999999999"; 
     string Text = "Testing"; 
     string Sender = "sender name"; 

     urlBuilder.Query = string.Format("user=" + UserName + "password=" + password + "PhoneNumber=" + PhoneNumber + "&Text=" + Text + "&Sender=" + Sender); 

     HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(new Uri(urlBuilder.ToString(), false)); 
     HttpWebResponse httpResponse = (HttpWebResponse)(httpReq.GetResponse()); 
    } 



    protected void Page_Load(object sender, EventArgs e) 
    { 
     SendSMS(); 
    } 

} 
+0

IP,端口,用户名,密码,9999999999,发送者姓名 都换人.. – 2010-02-14 16:01:48

回答

1

此代码:

urlBuilder.Host = "IP"; 
    urlBuilder.Port = port; 

我告诉你的HttpWebRequest去到http://IP:port,就像字面上的服务器IP一样。 http://IP不存在,你需要把实际的主机名放在那里,比如“www.google.com”......你试图打的任何服务器。

+0

我代我的服务器的实际IP有代替IP字... – 2010-02-14 15:58:35

+0

@KK - 所以没有路径?只需'http:// host:port /?user = usernamepassword = passwordPhoneNumber = 91999999999&Text = Testing&Sender = sender%20name'?注意:你可能想在你的查询参数之间增加一些'&'。 – 2010-02-14 16:04:25

+0

ohh狗屎..我忘了在2个地点Thanx男人...我浪费了很多时间..再次.. .. – 2010-02-14 16:13:37

0

的问题很可能出在:

urlBuilder.Query = string.Format("user=" + UserName + "password=" + password + "PhoneNumber=" + PhoneNumber + "&Text=" + Text + "&Sender=" + Sender); 

你错过了几个&秒。应该可能是这样的:

urlBuilder.Query = string.Format("user=" + UserName + "&password=" + password + "&PhoneNumber=" + PhoneNumber + "&Text=" + Text + "&Sender=" + Sender); 

编辑:也没有理由在这里使用string.Format()这里。这将工作一样:

urlBuilder.Query = "user=" + UserName + "&password=" + password + "&PhoneNumber=" + PhoneNumber + "&Text=" + Text + "&Sender=" + Sender; 
相关问题