首页 > 编程语言 >ASP.net百度主动推送功能实现

ASP.net百度主动推送功能实现

时间:2023-10-20 15:56:40浏览次数:45  
标签:ASP string Text request System net 推送

百度站长提供了curl、post、php、ruby的实现示例,并没有C#的官方示例。既然提供了post的方式,那么就可以用C#实现,下面是实现代码:

ASP.net百度主动推送代码范例

public static string PostUrl(string[] urls) 
    { 
        try
        { 
            string formUrl = "http://data.zz.baidu.com/urls?site=www.yoursite.com&token=yourcode"; 
      
            string formData = ""; 
      
            foreach (string url in urls) 
            { 
                formData += url + "\n"; 
            } 
      
            byte[] postData = System.Text.Encoding.UTF8.GetBytes(formData); 
      
            // 设置提交的相关参数  
            System.Net.HttpWebRequest request = System.Net.WebRequest.Create(formUrl) as System.Net.HttpWebRequest; 
            System.Text.Encoding myEncoding = System.Text.Encoding.UTF8; 
            request.Method = "POST"; 
            request.KeepAlive = false; 
            request.AllowAutoRedirect = true; 
            request.ContentType = "text/plain"; 
            request.UserAgent = "curl/7.12.1"; 
            request.ContentLength = postData.Length; 
      
            // 提交请求数据  
            System.IO.Stream outputStream = request.GetRequestStream(); 
            outputStream.Write(postData, 0, postData.Length); 
            outputStream.Close(); 
      
            System.Net.HttpWebResponse response; 
            System.IO.Stream responseStream; 
            System.IO.StreamReader reader; 
            string srcString; 
            response = request.GetResponse() as System.Net.HttpWebResponse; 
            responseStream = response.GetResponseStream(); 
            reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("UTF-8")); 
            srcString = reader.ReadToEnd(); 
            string result = srcString;   //返回值赋值 
            reader.Close(); 
      
            return result; 
        } 
        catch(Exception ex) 
        { 
            return ex.Message; 
        } 
    }

  

调用的时候,把您的网址传入

string info = PostUrl(new string[] { "//www.laike.net/article/1.html", "//www.laike.net/article/2.html" });

返回的结果是{"remain":498,"success":2} 表示已经推送成功,还剩498条可以推送,本次已经推送成功2条。

另外附上可能出现的异常情况的返回码信息,供调试用:
200  无使用方式错误,需要进一步观察返回的内容是否正确
400  必选参数未提供
405  不支持的请求方式,我们只支持POST方式提交数据
411  HTTP头中缺少Content-Length字段
413  推送的数据过大,超过了10MB的限制
422  HTTP头中Content-Length声明的长度和实际发送的数据长度不一致
500  站长平台服务器内部错误

我实际应用代码

//点击按钮触发
   protected void Button1_Click(object sender, EventArgs e)
   {
     string info = PostUrl(new string[] { "//www.laike.net/", "//www.laike.net/article/3.html" }); 
     this.Label1.Text= info; 
   }

  希望能帮到大家。

标签:ASP,string,Text,request,System,net,推送
From: https://www.cnblogs.com/psj365/p/17777271.html

相关文章

  • 如何优雅重启 kubernetes 的 Pod
    最近在升级服务网格Istio,升级后有个必要的流程就是需要重启数据面的所有的Pod,也就是业务的Pod,这样才能将这些Pod的sidecar更新为新版本。方案1因为我们不同环境的Pod数不少,不可能手动一个个重启;之前也做过类似的操作:kubectldelete--allpods--namespace=dev这......
  • triton部署基于wenet的流式asr服务
    1、docker镜像下载下载链接:https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tritonserver/tags或者直接dockerpullnvcr.io/nvidia/tritonserver:23.01-py3 2、克隆wenet项目gitclonehttps://github.com/wenet-e2e/wenet.git3、下载预训练模型,下载链接https:/......
  • .net操作excel
    .NET操作EXCEL //页面初始化//获取 _page并赋值  publicvoidInitial(SlnSuwfPagepage)       {           this._page=page;           this.BindButtonEvent("btnExport2");//给导出明细按钮添加事件       } #regio......
  • .net 多sheet页导出表格文件表格文件
     usingSystem;usingSystem.Data;usingSystem.Linq;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingNPOI.HSSF.UserModel;usingNPOI.SS.UserModel;usingSystem.IO;//usingSystem.W......
  • ASP.NET CORE学习笔记(host主机)
    1、扩展包 Microsoft.Extensions.Hosting2、包括Host、WebApplication3、示例1)honst 注意:<ProjectSdk="Microsoft.NET.Sdk">varbuilder=Host.CreateDefaultBuilder(args);varapp=builder.Build();app.Run();2)web......
  • ASP.NET Core中对开放泛型(Open Generic)的依赖注入
    publicinterfaceIRepository<T>{voidAdd(Tentity);List<T>Get();}publicclassRepository<T>:IRepository<T>{List<T>_list=newList<T>();publicvoidAdd(Tentity){_list.Add(entit......
  • [Microsoft Azure] 如何查看 Azure Function的.NET SDK版本列表
    本文将介绍如何在MicrosoftAzure中查看和选择AzureFunction的.NETSDK版本列表,以便为您的项目选择合适的版本。在MicrosoftAzure中,AzureFunctions是一种用于在云端运行小型应用程序或功能的服务。它可以帮助我们在不需要管理基础设施的情况下快速构建和部署应用程......
  • [Microsoft Azure] 如何查看 Azure Function的.NET Runtime
    在本文中,我们将详细介绍如何在MicrosoftAzure中查看AzureFunction的.NETRuntime版本。了解如何找到所使用的.NET版本,确保您的Functions应用程序兼容并具有稳定性。在使用MicrosoftAzure的过程中,您可能会使用到AzureFunctions作为一个无服务器计算服务。而在......
  • Netty实践 -- echo
    Netty实践学习netty,可以从netty源码的netty-example模块开始。netty-example有一个例子echo,非常适合入门学习。这里稍微改造一下,用作示例学习。引入依赖包:<dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId>......
  • netty常用类
    netty架构图ServerBootstrap、BootstrapServerBootstrap:服务器的引导类,可以绑定服务器和端口,配置Channel、ChannelHandler等。Bootstrap:客户端的引导类。可以开启客户端,连接服务端的端口,配置Channel、ChannelHandler等。EventLoopGroupEventLoopGroup用于处理基于Ch......