我正在ASP.NET MVC中构建一个应用程序(使用C#),我想知道如何在我的控制器中执行像curl http://www.mywebsite.com/clients_list.xml这样的调用基本上我想构建一种REST API,用于执行show edit和delete等操作,例如Twitter API.
但不幸的是,到目前为止,除了本网站上的cURL for windows之外,我没有找到任何东西:http://curl.haxx.se/
所以我不知道是否有任何传统的方式从URL中检索这种类型的调用,如删除后的方式和放置请求等...
我只想知道一种简单的方法来在我的ASP.NET MVC应用程序中执行我的控制器内的curl等命令.
更新:
嗨所以我设法做了GET请求,但现在我在检索POST请求时遇到了严重的问题,例如,我正在使用来自Twitter的更新状态API,在curl中这样工作如下:
curl -u user:password -d "status=playing with cURL and the Twitter API" http://twitter.com/statuses/update.xml
Run Code Online (Sandbox Code Playgroud)
但在我的ASP.NET MVC应用程序中,我在我的自定义函数中这样做:
string responseText = String.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml");
request.Method = "POST";
request.Credentials = new NetworkCredential("username", "password");
request.Headers.Add("status", "Tweeting from ASP.NET MVC C#");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
responseText = sr.ReadToEnd();
}
return responseText;
Run Code Online (Sandbox Code Playgroud)
现在问题是这个请求正在返回403 Forbidden,我真的不知道为什么它在curl上完美运行
:\
更新:
我终于设法让它工作了,但是可能有一种方法可以使它更清洁和漂亮,因为我是C#的新手,我需要更多的知识才能做到这一点,POST params传递的方式让我非常困惑,因为很多代码只能传递params.
好吧,我已经创建了一个Gist - http://gist.github.com/215900 …
我需要1个正则表达式来使用它的扩展名来限制文件类型.
我试过这个来限制html,.class等的文件类型.
/(\.|\/)[^(html|class|js|css)]$/i/(\.|\/)[^html|^class|^js|^css]$/i我需要限制总共10-15种类型的文件.在我的应用程序中,有一个接受文件类型的字段,根据要求,我有要限制的文件类型.所以我需要一个正则表达式,仅使用否定文件类型的否定.
插件代码如下:
$('#fileupload').fileupload('option', {
acceptFileTypes: /(\.|\/)(gif|jpe?g|png|txt)$/i
});
Run Code Online (Sandbox Code Playgroud)
我可以指定acceptedFileType但我已经给出了限制一组文件的要求.
目前我正在使用用户名和密码在 C#.Net 应用程序中访问 JIRA API。但我需要访问 JIRA API,而无需输入用户名和密码,即使没有哈希用户名和密码也是如此。有没有办法创建 API 密钥并用它访问 JIRA API?
我希望能够在一个请求中指定产品的图像大小,我对此有不同的想法,它们是:
mysuperstore.com/api/categories/40/products/53?width=100&height=100
Run Code Online (Sandbox Code Playgroud)
我认为这是不好的做法,因为不清楚宽度和高度是什么意思,可能是产品的实际尺寸.
另一个变种是:
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
Run Code Online (Sandbox Code Playgroud)
它看起来很不错,但在这种情况下我必须提出两个请求,它似乎是另一个资源ID(图像).
第一个请求是产品
mysuperstore.com/api/categories/40/products/53/
Run Code Online (Sandbox Code Playgroud)
第二个是图像URL
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
Run Code Online (Sandbox Code Playgroud)
是的,我不需要返回原始图像(数据),而只需返回URL.
我正在使用Slim Framework在PHP服务器上创建API.我找到了带有可选参数的此类API请求的示例
$app->get('/archive(/:year(/:month(/:day)))', function ($year = 2010, $month = 12, $day = 05) use ($app) {
echo sprintf('%s-%s-%s', $year, $month, $day);
print_r($app->request()->get());
});
Run Code Online (Sandbox Code Playgroud)
因此,以前的URL将匹配此示例,我可以在一个请求中传递所有必需的参数.
所以我的问题是,如果这样做是一个好习惯,也许这个URL对于不熟悉API的人来说可能是混乱的.
mysuperstore.com/api/categories/40/products/53/image?width=100&height=100
Run Code Online (Sandbox Code Playgroud)
所以我要求的人比我更有经验,我的目标是创建可以清楚理解的API,而无需阅读大量的API文档.我的API应该遵循所有最佳实践.
这就是我问这个问题的原因,我希望有人可以帮助我.
我有一个集群,目前有 135 个容器在 my-stack 堆栈上运行,这已经从 156 个下降了,因为 IP 耗尽问题不断出现,但由于子网配置为 /24,理论上它应该有 100 个可用 IP使用。在所有 docker 节点上执行 docker system prune --all 并没有带回任何可用的 IP 来使用。
在一个实例中,其中一个 docker 节点由于内存问题而停机,并且由于 IP 耗尽,某些服务的容器无法恢复在线状态。该节点必须从 swarm 中删除,并且我必须删除 /var/lib/docker/swarm 的内容才能将该节点重新加入到 swarm 中。在我完成此应用程序后,可以将 IP 分配给该节点。
IP 分配如何与 docker 堆栈配合使用?有没有办法检查分配给容器的 IP 以及距离发生 IP 耗尽还有多远?当我将节点添加回群后,我没想到它会解决 IP 耗尽问题。
码头工人版本:
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:17:20 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用REST API和PHP/cURL更新一些自定义字段.
我想知道我是否可能在没有意识到的情况下编辑了一些东西,而我昨天所做的"工作"(我认为),它现在不起作用.
我使用不同的"方法"获得不同的响应,来自:
我使用POST方法得到这个,因为它在下面没有注释.
HTTP 405 - 请求的资源()不允许使用指定的HTTP方法.
如果我使用注释掉的PUT方法,我会得到这个,并注释掉POST.
{"status-code":500,"message":"Read timed out"}
Run Code Online (Sandbox Code Playgroud)而这一个混合和匹配PUT和POST.
{"errorMessages":["No content to map to Object due to end of input"]}
Run Code Online (Sandbox Code Playgroud)我错过了什么/做错了什么?我使用以下代码:
<?php
$username = 'username';
$password = 'password';
$url = "https://example.com/rest/api/2/issue/PROJ-827";
$ch = curl_init();
$headers = array(
'Accept: application/json',
'Content-Type: application/json'
);
$test = "This is the content of the custom field.";
$data = <<<JSON
{
"fields": {
"customfield_11334" : ["$test"]
}
}
JSON;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, …Run Code Online (Sandbox Code Playgroud) 我有一个MVC3网站,它在IIS Express上运行良好,但在发布到IIS 7.5后,我得到了那个奇怪的错误.完整的错误消息是:
HTTP错误500(内部服务器错误):服务器尝试完成请求时遇到意外情况.
我使用'文件系统'方法发布,对于网站我在IIS中创建了一个单独的站点,使用.NET 4.0和集成模式单独创建应用程序池.
你能帮我诊断一下这个问题吗?
所以我不清楚GH文档是否他们的webhook支持问题通知.听起来它支持webhooks.但是,当我设置测试端点时,即使我测试有效负载也没有任何结果.
我正在使用ultrahook.com以及requestb.in来捕获请求但没有任何结果.
github webhooks是否正常工作?有没有人得到它的工作?
我正在尝试导出我的 sql 查询结果,我希望在您执行查询时自动执行该结果。我已经看到了使用我尝试使用的输出的示例,但这会给我一个语法错误,就像示例一样,Select * From dbo.anyTable Output to但是对我来说,在我的查询中有一个where 和内部连接的地方,我有一个) a在它之后,这就是我认为是问题。我知道可以通过右键单击鼠标并将结果另存为来保存它,但这不是我理想中想要的,因为我想自动化我正在尝试做的整个系统。
例如,我想尝试使用我的部分查询来执行此操作:
Select top 1 a.NAME, COUNT(*) OVER() AS totalRows
From (Select de.NAME From dbo.DEPLOYMENT_ENVIRONMENT as de
Inner join dbo.DEPLOYMENT_RESULT as dr
on dr.ENVIRONMENT_ID = de.ENVIRONMENT_ID
Where @filecontent = de.ENVIRONMENT_ID) a
OUTPUT TO @myPath
FORMAT TEXT
QUOTE '"'
WITH COLUMN NAMES;
Run Code Online (Sandbox Code Playgroud)
编辑 我有以下查询,但它不产生文件或任何错误我做错了什么?
Set @OutputFilePath = 'C:\DeploymentPipelines'
Set @ExportSQL = 'EXEC master.dbo.xp_cmdshell ''bcp
"Select top 1 …Run Code Online (Sandbox Code Playgroud) 我的任务是使用发送请求,然后获取一些XML.
示例:请求:/api/ext/data.xml响应:一些XML
该应用程序使用Spring MVC,所以我只是编写了控制器方法,一切正常,但我还需要实现授权.此应用程序不使用Spring安全性.
我该怎么办?我应该使用会话来保存用户授权数据吗?
api ×2
asp.net-mvc ×2
curl ×2
jira ×2
php ×2
rest ×2
android ×1
asp.net ×1
csv ×1
docker ×1
docker-swarm ×1
githooks ×1
github ×1
http ×1
iis-7.5 ×1
iis-express ×1
java ×1
javascript ×1
regex ×1
slim ×1
spring-mvc ×1
sql-server ×1
twitter ×1