WebPush {“收到意外回复代码”}

时间:2017-04-17 10:44:02

标签: c# .net fiddler web-push

如何使用Webpush库发送通知。我正在尝试,但它的抛出错误信息如{"Received unexpected response code"}

****现在我已创建了用于发送通知的网络API&通过提琴手打电话给你,但没有得到例外它被卡在某处 这是我的代码示例****

public void Sendnotification()
        {
            try
            {
       WebPush.VapidDetails vapidKeys = apidHelper.GenerateVapidKeys();
         string subject =@"mailto:xyz.com";
         string publicKey = Convert.ToString(vapidKeys.PublicKey);
         string privateKey = Convert.ToString(vapidKeys.PrivateKey);

        var subscription = new PushSubscription(pushEndpoint, p256dh, auth);
        var vapidDetails = new VapidDetails(subject, publicKey, privateKey);

        client.SendNotification(subscription, "payload", vapidDetails);
            }
            catch (WebPushException e)
            {

            }
        }

我已配置启用Https以使用fidder调用api。请看看。还有它的抛出错误,它卡在某处enter image description here

现在出现了错误,请查看显示错误HTTP / 1.1 410 NotRegistered enter image description here

See the full screen of Fiddler response error details

1 个答案:

答案 0 :(得分:1)

如果您收到错误410 (检查错误使用fiddler拦截https调用),可能您所拥有的是用户的订阅数据中的错误存储在数据库中的密钥与浏览器中的订阅不匹配,一个简单的解决方法是重新订阅并重新保存订阅数据,然后重试。

要设置fiddler,您必须将其用作代理视觉工作室来拦截https呼叫,并且还必须启用https解密。

修改

只需在web.config或app.config中添加此配置即可设置fiddler:

<system.net>
 <defaultProxy
  enabled = "true"
  useDefaultCredentials = "true">
 <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
 </defaultProxy>
 </system.net>

如果在任何情况下,您未经授权注册,请检查以下问题:

Web Push API Chrome, returning "Unauthorized Registration"

WebPushError and UnauthorizedRegistration when try to send push notification to Chrome and Opera, FF is OK