小编ely*_*33t的帖子

使用Python中的URL查询字符串构造请求

我不太确定我在做什么.我应该使用图书馆吗?或者手动完成?

所以我正在尝试使用Python中的WiThings(http://www.withings.com/api)API.

为了执行某些请求,需要OAuth身份验证.我已经使用了请求库并获得了一个oauth令牌和秘密令牌,以及我的消费者和消费者秘密令牌.

现在我不得不提出请求,我遇到了一些问题.我需要做的请求的格式如下(来自其API的示例):

http://wbsapi.withings.net/notify?action=subscribe
&callbackurl=http%3a%2f%2fwww.yourdomain.net%2fyourCustomApplication.php
&comment=Your%20Own%20Application%20Description
&oauth_consumer_key=c331c571585e7c518c78656f41582e96fc1c2b926cf77648223dd76424b52b
&oauth_nonce=accbac1b7ee2b86b828e6dc4a5a539b2
&oauth_signature=XfobZMboIg2cRyNKAvyzONHHnKM%3D
&oauth_signature_method=HMAC-SHA1
&oauth_timestamp=1311842514
&oauth_token=887557411788d5120537c6550fbf2df68921f8dd6f8c7e7f9b441941eb10
&oauth_version=1.0
&userid=831
Run Code Online (Sandbox Code Playgroud)

据我所知,除了最后的用户ID之外,这几乎是OAuth的典型格式.

那么,我可以使用请求库发出这样的请求吗?还是其他一些图书馆?如何使用comment和userid以及callbackurl字段获取正确的URL?或者我是否需要手动生成此URL?如果是这样的话,那么最好的办法是什么呢?

非常感谢任何帮助,因为我已经坚持了一段时间.

编辑

所以,为了澄清一点,我理解了98%的代码.我最后只有一点问题.

所以我在这里,使用以下代码:

from __future__ import unicode_literals
from urlparse import parse_qs
import requests
from requests_oauthlib import OAuth1Session

consumer_key = '**Valid consumer key**'

consumer_secret = '**Valid consumer secret**'


oauth_key = '**Valid oauth key obtained through requests library and OAuth workflow**'

oauth_secret ='**Valid oauth secret obtained through requests library and OAuth workflow**'

verifier = '**Valid consumer key obtained through requests library and …
Run Code Online (Sandbox Code Playgroud)

python api oauth request

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

使用Django发出HTTP请求并反序列化输出

所以我对整个Web开发几乎全新,但是已经被投入到使用Django从Web服务中提取和解析数据的侧面项目中,并且正在努力理解事情是如何工作的,即使在查看Django时也是如此.文档.

在Django中,我已经完成了所有设置并在基本级别工作(使用模板,显示的页面显示"Hello World").

现在,为了从webservice中提取数据,我需要向以下格式的URL发出请求:

http://wbsapi.withings.net/[service_name]?action=[action_name]&[parameters]
Run Code Online (Sandbox Code Playgroud)

在提供的PHP示例中,他们使用cURL,然后使用json_decode执行此操作.

我如何才能从Django中获得类似的功能?提前致谢!

django http request

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

Excel MATCH()函数始终给出#N / A

超级简单的匹配,看起来像这样:

=MATCH("Team", A1:A25,0)
Run Code Online (Sandbox Code Playgroud)

A1:A25中的数据是从文本文件导入的。单元格的格式设置为文本。

如果我进入该列并在已经显示“ Team”的单元格中手动键入“ Team”,那么它将起作用。但是除非手动输入,否则它会显示#N / A。

这有什么问题?

excel excel-formula

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

使用ng-options在AngularJS中使用JSON填充select

编辑:我的代码实际上工作,我只是一个与无关问题的白痴.感谢大家的投入.

所以我有一个JSON对象数组,格式如下:

[{"id":"id1", "text":"text1"}, {"id":"id2", "text":"text2"},....]
Run Code Online (Sandbox Code Playgroud)

我想使用这些填充AngularJS选择字段,文本字段作为显示文本,id字段作为值,或者与模型绑定的任何内容.我环顾四周,但不能为我的生活弄清楚我需要做什么.

现在我有我的选择,这没有任何显示:

<select name="field" ng-model="npe.formData.field" ng-options="field.id as field.text for field in fields">
Run Code Online (Sandbox Code Playgroud)

以这种方式执行ng-options会导致显示内容,但显然会导致绑定到模型的值不正确:

ng-options="field as field.text for field in fields"
Run Code Online (Sandbox Code Playgroud)

我看到有人在谈论使用"(键,值)",但我无法理解它是如何工作的.

javascript json angularjs

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

删除字符c后的文本

我从输入文件中看到一些看起来像这样的文本:

func:
    sll  $t3, $t4, 5       # t1 = (i * 4)
    add  $t3, $a1, $t4     # t2 contains address of array[i]
    sw   $t1, 4($t2)       # array[i] = i
    addi $t2, $t5, 3       # i = i+1
Run Code Online (Sandbox Code Playgroud)

我想"清理"它,并将其输出到另一个文件,如下所示:

func:
    sll  $t3, $t4, 5
    add  $t3, $a1, $t4
    sw   $t1, 4($t2)
    addi $t2, $t5, 3
Run Code Online (Sandbox Code Playgroud)

这是我用来执行此操作的代码块:

    while(fgets(line, 100, input) != NULL)
   {
    int comment = 0;
    for(int x = 0; x < 100; x++)
    {
        if(line[x] == '#')
            comment = 1; …
Run Code Online (Sandbox Code Playgroud)

c text input stdio output

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

为什么我在这个Java程序中得到ArrayIndexOutOfBoundsException?

在Java中,我正在使用RandomAccessFile进行一些工作.我有一个8192字节,或8kb的文件.

以下是导致ArrayIndexOutOfBoundsException:

File file = new File("TestFile1");
raf = new RandomAccessFile(file, "rw");
byte[] temp = new byte[4096];
raf.read(temp, 4096, 4096);
Run Code Online (Sandbox Code Playgroud)

即使是这样的事情也会导致同样的错误:

raf.read(temp, 4096, 1);
Run Code Online (Sandbox Code Playgroud)

虽然这样的东西很完美:

raf.read(temp, 0, 4096);
Run Code Online (Sandbox Code Playgroud)

当我运行以下内容时,我得到8192,这就是为什么我对为什么这不起作用感到困惑:

System.out.println(raf.getChannel().size());
Run Code Online (Sandbox Code Playgroud)

如果我尝试从文件的后半部分读取,为什么会出现越界错误?

java io indexoutofboundsexception

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

在Python中迭代遍历列表的麻烦

在python中,我有一个名为"list"的列表,如下所示:

[{'lastname': 'lname1', 'firstname': 'fname1', 'shortname': 'SN1'},
{'lastname': 'lname2', 'firstname': 'fname2', 'shortname': 'SN2'},
{'lastname': 'lname3', 'firstname': 'fname3', 'shortname': 'SN3'}]
Run Code Online (Sandbox Code Playgroud)

对于列表中的EACH项,我需要能够访问这些属性中的每一个.所以我必须得到每个用户的姓氏,每个用户的名字等

由于这是一个列表,我一直在尝试如下:

for idx in enumerate(list):
        print(list[idx])
Run Code Online (Sandbox Code Playgroud)

但是我得到一个错误,说列表索引必须是整数,而不是元组.

试试这个:

for idx in enumerate(list):
        print(idx)
Run Code Online (Sandbox Code Playgroud)

我得到这样的输出:

(0, {'lastname': 'lname1', 'firstname': 'fname1', 'shortname': 'SN1'})
(1, {'lastname': 'lname2', 'firstname': 'fname2', 'shortname': 'SN2'})
(2, {'lastname': 'lname3', 'firstname': 'fname3', 'shortname': 'SN3'})
Run Code Online (Sandbox Code Playgroud)

我想要的就是能够得到索引,所以我可以遍历每个列表项并说出来

firstname = list[idx]["firstname"]
lastname = list[idx]["lastname"]
Run Code Online (Sandbox Code Playgroud)

等等.

注意:如果我说的话

print(list[0]["firstname"]) 
Run Code Online (Sandbox Code Playgroud)

它完美地运作.

我究竟做错了什么?或者我需要做什么?谢谢!

python json loops list enumerate

0
推荐指数
1
解决办法
156
查看次数

表单POST没有参数发送

我有一个非常简单的HTML页面:

<html>
<head>
    <script>
        function post() {   
            var form = document.createElement("form");
            form.setAttribute("method", "post");
            form.setAttribute("action", "/agree");

            var hiddenField = document.createElement("input");
            hiddenField.setAttribute("type", "hidden");
            hiddenField.setAttribute("name", "location");
            hiddenField.setAttribute("value", "URL goes here");

            document.body.appendChild(form);
            form.submit();
        }
    </script>
</head>

<body>

<input type="button" value="I agree" onclick="post()">

</body>
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,在Firefox网络检查器和处理帖子的HTTPServlet代码中,都没有参数,例如在网络检查器中它显示"此请求没有参数",而在Java中使用getParameter或getParameterNames都返回null.

我尝试过改变JS的形式,看看我经常看到用于添加属性的另一种格式.例如:

hiddenField.type = "hidden";
Run Code Online (Sandbox Code Playgroud)

但这没有任何改变(无论如何有什么不同?).我究竟做错了什么?

html javascript http

0
推荐指数
1
解决办法
87
查看次数

有条件地改变对象类Java

所以我有一段代码看起来像这样:

Metrics metrics = null;

try {
    metrics = metricsService.getCurrentMetrics();
} catch (SQLException e) {
    e.printStackTrace();
}

//Do some stuff with the metrics
Run Code Online (Sandbox Code Playgroud)

我最近实现了一种单独的机制,作为在单独的类下跟踪API指标的一种方式,巧妙地称为APIMetrics.

因此,通过此更改,代码看起来像这样:

Metrics metrics = null;
APIMetrics apiMetrics = null;

try {
    if(user.isAPI())
        apiMetrics = metricsService.getCurrentAPIMetrics();

    else
        metrics = metricsService.getCurrentMetrics();
} catch (SQLException e) {
    e.printStackTrace();
}

//Do some stuff with the metrics
Run Code Online (Sandbox Code Playgroud)

问题在于下面的代码"使用指标做一些事情"都是根据使用指标对象编写的.有没有办法我可以设置它,以便"metrics"对象不仅指代Metrics类型的对象,而且我们想要使用的对象是什么?

因此,例如,如果我们有非API用户,我们希望指标的类型为Metrics,结果为metricsService.getCurrentMetrics().但是,如果我们有一个API用户,我们希望指标的类型为APIMetrics,结果是metricsService.getCurrentAPIMetrics().

有什么好办法可以解决这个问题吗?Metrics和APIMetrics类共享所有方法.我知道可能有一种方法可以使用继承或多态来做到这一点,但我无法弄明白该做什么.谢谢!

java class

0
推荐指数
1
解决办法
58
查看次数