首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >登录为电子邮件时的https URI方案

登录为电子邮件时的https URI方案
EN

Stack Overflow用户
提问于 2013-10-14 08:48:44
回答 1查看 340关注 0票数 1

我正在使用登录名和密码进行https身份验证,根据RFC,URI应该如下所示:

代码语言:javascript
运行
复制
https://username:password@example.com:8042/

但是,当登录是电子邮件时,@符号被解释为主机分隔符:

代码语言:javascript
运行
复制
https://username@example.com:password@example.com:8042/

正确的URI应该是什么样的呢?

编辑一些背景:我正在检索PivotalTracker身份验证令牌

代码语言:javascript
运行
复制
require 'net/http'
require 'net/https'
require 'open-uri'

def validate_with_credentials
  doc = Nokogiri::XML(open(authentication_uri, :http_basic_authentication => [email, password]))
end

def authentication_uri
  URI('https://www.pivotaltracker.com/services/v4/me')
end

这很有效,但是我想在我的特性测试中对url进行存根,我使用的是FakeWeb gem:

代码语言:javascript
运行
复制
FakeWeb.register_uri(:get, 'https://correct_email@example.com:correct_password@www.pivotaltracker.com/services/v4/me',
    :body => File.read(File.join(Rails.root, 'spec', 'fixtures', 'pivotal_tracker', 'responses', 'authorization_success.xml')),
    :status => ['200', 'OK'])

这里的问题是uri不应该有双@,我得到了异常:

URI::InvalidURIError:方案https不接受注册表部分: correct_email@example.com:correct_password@www.pivotaltracker.com (还是坏主机名?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-14 09:39:14

我必须使用编码并将@替换为%40ravi parekh提供

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19356532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档