程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 HTTP get 请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 http get 请求?

开发过程中遇到在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 http get 请求的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 http get 请求的解决方法建议,希望对你解决在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 http get 请求有所启发或帮助;

我无法通过用户身份验证向 ASP.net Web API 发出 http get 请求。目标是从 API 获取 JsON 文件。我正在开发一个 Ionic Angular 应用程序,目前我想做的就是成功发出 get 请求。

附加上下文 - 当您在浏览器中访问 API 时,它需要用户名和密码 -C# 中使用 NetworkCredential 对象进行身份验证

问题 当我预览我的应用程序(使用离子服务)时,我收到以下错误: -[错误] 预检响应不成功 -[错误] 由于访问控制检查,XMLhttprequest 无法加载 http://notrealwebsite.com/api/example/3。 -[错误] 加载资源失败:预检响应不成功

我的尝试 现在我的代码看起来像这样


import (
    "log"
    "strconv"
//     "regexp"
    "github.com/go-telegram-bot-API/telegram-bot-API"
)

func main() {
    bot,err := tgbotAPI.NewBotAPI("")
    tasks := [...]String{"Ansible assignment","Bash script"}
    links := [...]String{"https://github.com/task1","https://github.com/task2"}
//  var currentTask = regexp.MustCompile(`^task#.`)

    if err != nil {
        log.Panic(err)
    }

    bot.DeBUG = true

    log.Printf("Authorized on account %s",bot.Self.UserName)

    u := tgbotAPI.Newupdate(0)
    u.Timeout = 60

    updates,err := bot.GetupdatesChan(u)

    for update := range updates {
        if update.message == nil { // ignore any non-message updates
            conTinue
        }
        log.Printf("[%s] %s",update.message.From.Username,update.message.Text)


if update.message.IsCommand() {
            msg := tgbotAPI.Newmessage(update.message.Chat.ID,"")
            switch update.message.Command() {
            case "Help":
                msg.Text = "type /sayhi or /status."
            case "homerep":
                msg.Text = "https://github.com/ :)"
            case "tasks":
                msg.ParseMode = "HTML"
                msg.Text = "The List of completed tasks:\n"
                for i := 0; i < len(tasks); i++ {
                    msg.Text =  msg.Text + strconv.Itoa(i+1) + ". " + tasks[i] +  "  -  " + "<a href='"+links[i] +"'> <b>link</b></a>" + "\n"
                }
            case update.message.Command == "^task#.":
                msg.ParseMode = "HTML"
                msg.Text = "This is test"
            default:
                msg.Text = "I don't kNow that command"
            }
            bot.Send(msg)
        }
}
}```

对不起,如果这是一个愚蠢的问题 - 我对这个东西很陌生!我已经查看了堆栈溢出的所有内容,但无法进行任何操作。

解决方法

浏览器环境中的 http 请求受到名为 CORS 的协议的限制。在提出请求之前,浏览器会向同一 URL 发送一个 OPTIONS 请求(“预检”检查),以确定是否允许访问。

关于“预检响应”的@R_772_9860@意味着服务器没有响应 OPTIONS 请求,或者它返回了一个标头,告诉浏览器它无法继续。浏览器开发工具的网络选项卡可能包含更多信息 - 通常预检请求链接在您的预期请求旁边。

您还可以使用 curl 之类的工具向该网址发送 OPTIONS 请求,并检查响应是否包含正确的 Access-Control 标头:

curl -i -XOPTIONS 'http://notrealwebsite.com/api/example/<id>'

大佬总结

以上是大佬教程为你收集整理的在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 HTTP get 请求全部内容,希望文章能够帮你解决在 Ionic Angular 应用程序中使用用户身份验证向 ASP.net Web API 发出 HTTP get 请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。