小编and*_*ewb的帖子

用用户名和密码调用rest api - 如何

我是新来的api's并通过.NET调用它们

我有一个api:https://sub.domain.com/api/operations? param = value & param2 = value

api的注释说要授权我需要使用基本的访问身份验证 - 我该怎么做?

我目前有这个代码:

        WebRequest req = WebRequest.Create(@"https://sub.domain.com/api/operations?param=value&param2=value");
        req.Method = "GET";
        //req.Credentials = new NetworkCredential("username", "password");
        HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
Run Code Online (Sandbox Code Playgroud)

但是我得到了401未经授权的错误.

我缺少什么,如何使用基本访问身份验证形成api呼叫?

c# rest basic-authentication

34
推荐指数
2
解决办法
10万
查看次数

如何将现有项目添加到TFS

我已经在TFS中有6个项目的解决方案.每个项目都在自己的文件夹中.

我右键单击了解决方案并添加了一个新项目,因此解决方案XML了解我的新项目.

我检查了解决方案文件,但新添加的项目未在源代码管理资源管理器中列出,大概是因为我从未检查过文件.

我的问题是如何检查项目并确保新项目文件进入其自己的文件夹?

如果我右键单击解决方案的根目录并选择新的项目文件,则将"目标源控制文件夹"设置为根目录 - 我是否需要首先在TFS中创建一个与项目文件夹名称匹配的文件夹?这看起来倒退了.

tfs

12
推荐指数
1
解决办法
2万
查看次数

Android 模拟器有旧版本的应用程序

我正在通过 Android Studio 在模拟器上测试我的 Android 应用程序。一个月前,我设置了我的模拟器,做了一些测试等。我在上个月对代码库进行了更改,在设备上进行了测试,并希望针对模拟器进行测试,因为它的 API 比我的设备早。

当我运行模拟器时,它有一个早期版本的应用程序。例如,我更改了应用程序图标,但在模拟器中该图标是默认的 Android 图标。

是否需要采取特定步骤将我的更新版本推送到模拟器?

android android-emulator

5
推荐指数
1
解决办法
4379
查看次数

FindByThumbprint - 证书存在但未找到

我正在尝试将证书添加到Web请求以连接到Azure服务.

我的代码看起来像这样:

string certThumbprint = "??thumbprint";
X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
X509Certificate2Collection certCollection = certStore.Certificates.Find(
     X509FindType.FindByThumbprint, certThumbprint, false);
Run Code Online (Sandbox Code Playgroud)

现在我可以确认证书确实存在且指纹是否正确.但是certCollection回来是空的.

有任何想法吗?

更新:这是我打开证书商店的方式

certStore.Open(OpenFlags.ReadOnly);
Run Code Online (Sandbox Code Playgroud)

c# azure ssl-certificate

4
推荐指数
1
解决办法
7895
查看次数

在不创建类的情况下反序列化 JSON 响应

从 API 调用的结果来看,我有大量的 JSON 需要处理。

我目前有这个

Object convertObj = JsonConvert.DeserializeObject(responseFromServer);
Run Code Online (Sandbox Code Playgroud)

我知道我可以做类似的事情

Movie m = JsonConvert.DeserializeObject<Movie>(responseFromServer);
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它

m.FieldName
m.AnotherField
//etc
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想做类似的事情

var itemName = convertObj["Name"];
Run Code Online (Sandbox Code Playgroud)

获取列表中第一项的第一个 Name 值。

这是可能的,还是我必须创建一个类来反序列化?

我不想创建类的原因是我不是 API 的所有者,并且字段结构可能会改变。

编辑。

好的,所以我创建了这个类,因为它似乎是最好的方法,但是有没有办法将 JSON 反序列化为列表?

var sessionScans = new List<SessionScan>();
sessionScans = JsonConvert.DeserializeObject<SessionScan>(responseFromServer);
Run Code Online (Sandbox Code Playgroud)

抱怨它无法将 SessionScan 转换为通用列表。

c# json

4
推荐指数
3
解决办法
6902
查看次数

XML SelectNodes然后SelectSingleNodes - 仅检索第一个

我有以下XML

<root>
<Operations>
    <OperationId>1</OperationId>
    <OtherFields>...</OtherFields>
</Operations>
<Operations>
    <OperationId>2</OperationId>
    <OtherFields>...</OtherFields>
</Operations>
<Operations>
    <OperationId>3</OperationId>
    <OtherFields>...</OtherFields>
</Operations>
</root>
Run Code Online (Sandbox Code Playgroud)

使用C#和System.XML命名空间我使用以下代码获取所有操作:

XmlNodeList operations= doc.SelectNodes("/root/Operations");
Run Code Online (Sandbox Code Playgroud)

现在我需要遍历每个操作并引用字段(OperationId,OtherFields).

我试试这个:

foreach (XmlNode node in xnodes)
{
    Console.WriteLine("Operation ID: {0}", node.SelectNodes("//OperationId")[0].InnerText);
}
Run Code Online (Sandbox Code Playgroud)

然而,这只是重复第一个OperationId - 1.

怎么了?

谢谢,安德鲁

c# xml

3
推荐指数
1
解决办法
1905
查看次数

在 C# 中使用带有 SSH.NET 的字符串中的“OPENSSH”私钥文件失败并显示“无效的私钥文件”

我对 SFTP 或 OpenSSH 没有经验。我正在尝试连接到客户端的 SFTP 以上传文件。

我正在使用 SSH.NET 库 – https://github.com/sshnet/SSH.NET

在我的 C# 代码中,我有一个字符串变量中的私钥:

var key = @"-----BEGIN OPENSSH PRIVATE KEY-----
// snipped
-----END OPENSSH PRIVATE KEY-----
";

MemoryStream keyStream = new MemoryStream(Encoding.UTF32.GetBytes(key));

Renci.SshNet.ConnectionInfo conn = new Renci.SshNet.ConnectionInfo(
    host, 
    port,
    username, 
    new AuthenticationMethod[]
    {
         new PrivateKeyAuthenticationMethod(username, new PrivateKeyFile[]
         {
            new PrivateKeyFile(keyStream, ""), 
         }), 
    });
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

无效的私钥文件。

我的问题是,我已经看到其他键开始BEGIN RSA但我的键开始BEGIN OPENSSH- 这是问题吗?

.net c# ssh ssh.net private-key

3
推荐指数
1
解决办法
2505
查看次数

将一天添加到输入类型日期值

在 HTML 中,我有一个日期输入:

<input type="date" id="checkInDate" value="<?php echo date('Y-m-d'); ?>" />
Run Code Online (Sandbox Code Playgroud)

我使用 jquery 订阅更改事件:

$('#checkInDate').on('change', function()
{
});
Run Code Online (Sandbox Code Playgroud)

如何获取该输入日期的选定值,向该日期添加一个并将另一个输入 (checkOutDate) 设置为该值?以下是我目前拥有的:

$('#checkInDate').on('change', function()
{
    var checkInDate = $(this).val();
    console.log(checkInDate); // result is yyyy-mm-dd, ex: 2015-02-20
    var split = checkInDate.split('-');
    var tomorrow = new Date(split[0], split[1], split[2], 0,0,0,0);
    console.log(tomorrow); // result is Wed Mar 18 2015 00:00:00 GMT-0600     (Mountain Daylight Time)
});
Run Code Online (Sandbox Code Playgroud)

然而,这是不正确的,因为月份 02 被视为第三个月,因为月份是基于 0 的。

jquery

2
推荐指数
1
解决办法
5009
查看次数

检测点击Facebook按钮的时间

我有以下JavaScript代码

<div class="fb-like-box" data-href="snip" data-colorscheme="light" 
    data-show-faces="false" data-header="false" data-stream="false" 
    data-show-border="true"></div>
Run Code Online (Sandbox Code Playgroud)

我试图检测何时点击了like按钮.上面的代码呈现了一个iframe,所以我的jquery事件处理程序

$('.fb-like-box > button').on('click', function() { console.log('Clicked'); });
Run Code Online (Sandbox Code Playgroud)

永远不要开火.我尝试将这个div和其他内容包装在一个包装div中,并在$()调用中定位它,但它只在单击其他内容时触发,而不是由Facebook SDK呈现的区域触发.

javascript jquery facebook

2
推荐指数
1
解决办法
4829
查看次数

更改 jquery ui 对话框 z-index

我正在使用 bootstrap 和 jquery UI 对话框。

在我的页面顶部有一个 z-index 为 1000 的元素。

当我打开一个 jquery UI 对话框时,外部 div 的 z 索引是 101。

我已将 modal 属性设置为 true,但对话框的顶部出现在标题中的某些内容后面。请注意,对于我的标记中的实际 div,

<div id="divPopup" style="display: none; z-index:5000;"></div>
Run Code Online (Sandbox Code Playgroud)

由于 5000,看起来很好。但是,对话框的顶栏出现在内容后面。

有没有办法改变包装div的z-index?

html jquery twitter-bootstrap

2
推荐指数
1
解决办法
7665
查看次数