namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        string aaa = "";
        public Form1()
        {            InitializeComponent();
           
        }        public class bdMsgVerifyCode
        {
            public string vcToken { get; set; } //genimg字符
            public Image vcImg { get; set; } //验证码图片
            public static bdMsgVerifyCode Create(string cookie)
            {
                bdMsgVerifyCode vc = new bdMsgVerifyCode();
                WebClient client = new WebClient();
                client.Headers.Add(HttpRequestHeader.Cookie, cookie);
                client.Headers.Add(HttpRequestHeader.Referer, "http://hi.baidu.com/msg/index?from=redirect&ct=21&cm=1&tn=bmSendMessage&un=");
                string html = client.DownloadString("http://hi.baidu.com/sys/file/getvcode?echoback=getVcodeDone&callback=bd__cbs__tppotb");
                int start = html.IndexOf("\"") + 1;
                int end = html.IndexOf("\"", start);
                vc.vcToken = html.Substring(start, end - start);                byte[] imgbuf = client.DownloadData("http://hiup.baidu.com/cgi-bin/genimg?" + vc.vcToken);
                MemoryStream ms = new MemoryStream(imgbuf);
                vc.vcImg = Image.FromStream(ms);
                ms.Close();
                return vc;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            bdMsgVerifyCode vc = bdMsgVerifyCode.Create("OPENPLATFORM_SP=cd9ea067da03_1297859249; BAIDUID=26D7E772BCC06F88A642088CC00B4584:FG=1; BDUSS=lEaW1pWG4zNTlWdWFabTM0REl2QlV6dTVhZzZ5QTQ4fmxBdmgwMGVLVVRTSU5OQVFBQUFBJCQAAAAAAAAAAAoakSd28J0KtrzLtc7Sz~HJ8b6tsqEAAAAAAAAAAAAAAAAAAAAAAADA2gV8AAAAAMDaBXwAAAAAuFNCAAAAAAAxMC4yMy4yNBO7W00Tu1tNaD; USERID=f5a7193b428710f975e52280af974cbdf14a; IM_old=0|gk8di8w0; _ML_ST=10%7Cgk88mm47");
            pictureBox1.Image = vc.vcImg;
            aaa = vc.vcToken;        }
        string Post(string url, string postdata)
        {
             WebClient client = new WebClient();//实例化
            client.Encoding = Encoding.GetEncoding("gb2312");//设编码
            client.Headers.Add(HttpRequestHeader.Cookie, "BDUSS=3V1N1FFUzZONzczMHNXTFllR2dmbXBXSUFsfnRLZkE3eWZyNnVCSWgtcE5yNFJOQVFBQUFBJCQAAAAAAAAAAApRLgt28J0KtrzLtc7Sz~HJ8b6tsqEAAAAAAAAAAAAAAAAAAAAAAADA-kRzAAAAAMD6RHMAAAAAuFNCAAAAAAAxMC4yMy4yNE0iXU1NIl1NQ; BAIDUID=9F9ACD2A7322780D7A8E5A46110E71FB:FG=1; USERID=f5a7193b428710f975e52280af974cbdf14a; bdime=1; BAIDU_WISE_UID=wapp_1297574075498_625; BD_UTK_DVT=1; BDSP=6b63f6246a610c33f07281da6cbccc05df14242916a9b827d2c7db37349b033b5bb5c9ea15ce36d3d539b6003af33a87e950352ac65c10385343fbf2b2119313b07eca8065380cd7912397dda144ad345982b2b7d0a20cf431adcbef76094b36a8afe07d; BDSTAT=d11373f05ab307e2557617b68d1d366e05a28bf3b436afc36d310a55b019dca0; Hm_lvt_4d16ad3b9adade3b562e5f64c3a01c5d=1297842283125; _time_stamp_=2; BDLFONT=0; pop_lover_76f0b6bccbb5ced2cff1c9f1beadb2a19d0a=yes; badgePilot_th_76f0b6bccbb5ced2cff1c9f1beadb2a19d0a=yes; GUIDE_76f0b6bccbb5ced2cff1c9f1beadb2a19d0a=yes; NO_GUIDE_76f0b6bccbb5ced2cff1c9f1beadb2a19d0a=yes"); //加标头
            //其他标头client.Headers.Add(......................");
            client.UploadString("http://hi.baidu.com/msg/msg_dataSendmsgTalk", "top.spNoticeTpl.message.msg_subResult&bdstoken=43be208cdb81428dee062ea3710a78a8&strUname=asd&strContent=asd&spVcode=" + aaa  + "&Code=" + textBox1.Text); //POST
            
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Post("http://hi.baidu.com/msg/msg_dataSendmsgTalk", "top.spNoticeTpl.message.msg_subResult&bdstoken=43be208cdb81428dee062ea3710a78a8&strUname=asd&strContent=asd&spVcode=" + aaa  + "&Code=" + textBox1.Text);
        }
    }
}

解决方案 »

  1.   

    问题在这个方法 string Post(string url, string postdata)
    没有return语句
      

  2.   

    从你的调用处看 POST方法并不需要返回值
    修改成 void Post(string url, string postdata)
      

  3.   

    不需要返回值都使用void呀   
     “并非所有的代码路径都返回值”很明显是缺少return、 你查看只要不是void方法的 是不是都有返回值...
      

  4.   

    不需要返回值时,使用void声明
      

  5.   

    string Post(string url, string postdata)
      {
    ...
    return "";
    或null
    }
      

  6.   

    string Post(string url, string postdata)
    把这个方法的返回值改为void或者return null;或者return "";
      

  7.   

    没必要return的,因为你根本不需要返回任何值