小编Gga*_*Gga的帖子

使用HttpClient,如何防止自动重定向并获取原始状态代码并在301的情况下转发Url

我有以下方法返回Http status code给定的Url:

public static async void makeRequest(int row, string url)
{
    string result;
    Stopwatch sw = new Stopwatch(); sw.Start();

    try
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = new HttpResponseMessage();
            response = await client.GetAsync(url);

            // dump contents of header
            Console.WriteLine(response.Headers.ToString());

            if (response.IsSuccessStatusCode)
            {
                result = ((int)response.StatusCode).ToString();
            }
            else
            {
                result = ((int)response.StatusCode).ToString();
            }
        }
    }
    catch (HttpRequestException hre)
    {
        result = "Server unreachable";
    }

    sw.Stop();
    long time = sw.ElapsedTicks / (Stopwatch.Frequency / …
Run Code Online (Sandbox Code Playgroud)

c# redirect http httpclient

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

如何在使用HttpClient.GetAsync()时确定404响应状态

我试图在使用C#和.NET 4.5的404错误的情况下确定response返回HttpClientGetAsync方法.

目前我只能说出错误已经发生而不是错误的状态,如404或超时.

目前我的代码我的代码如下所示:

    static void Main(string[] args)
    {
        dotest("http://error.123");
        Console.ReadLine();
    }

    static async void dotest(string url)
    {
        HttpClient client = new HttpClient();

        HttpResponseMessage response = new HttpResponseMessage();

        try
        {
            response = await client.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode.ToString());
            }
            else
            {
                // problems handling here
                string msg = response.IsSuccessStatusCode.ToString();

                throw new Exception(msg);
            }

        }
        catch (Exception e)
        {
            // .. and understanding the error here
            Console.WriteLine(  e.ToString()  );                
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法处理异常并确定其状态以及出错的其他详细信息.

我如何正确处理异常并解释发生了什么错误?

c# exception-handling httpclient async-await .net-4.5

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

将特殊字符(如Ã和Ã)转换回原来的拉丁语alphbet对应C#

我一直在考虑从似乎有它的编码方式有点糊涂随着时间的推移和包含的混合MySQL数据库的出口HTML char codes,如& uuml;代表相同的字母和问题较多的字符,如üÃ.我的任务是将一些一致性带回文件并将所有内容都放入正确的拉丁字符中,例如úó.

我正在处理的字符串类型的一个例子是

DesinfektionslÃÂsungstücherfürFlächen

哪个应该等同于

50 Tattoo Desinfektionsl ö    sungst ü    cher f ü    r Fl ä    chen 
50 Tattoo Desinfektionsl ö sungst ü cher f ü r Fl ä chen
Run Code Online (Sandbox Code Playgroud)

有没有一种方法,在C#中使用/.NET 4.5,将成功地重新编码的喜欢üÃUTF-8

那么什么方法是可取的?

也就是段字符在上面的例子串某些其它字符组合的实际段字符或部分?

我已经创建了一个查找表,如果需要查找和替换下面的内容,但我不确定它是多么完整.

É -> É
“ -> "
†-> "
Ç -> Ç
à -> Ã
é, 'é
à -> ú -> ú …
Run Code Online (Sandbox Code Playgroud)

c# latin character-encoding special-characters mojibake

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

.indexOf使用JavaScript在IE7/8上运行的数组上的函数

任何人都可以告诉我IE 7和IE 8是否支持JavaScript .indexOf()方法,因为我收到错误:

SCRIPT438: Object doesn't support property or method 'indexOf' 
Run Code Online (Sandbox Code Playgroud)

来自IE9调试控制台(在IE7和IE8浏览器模式下使用).

对于以下注释,使用.indexOf()的代码如下:

if(shirt_colour == 'black') {
    p_arr=['orange','red','green','yellow','bblue','rblue','pink','white','silver','gold'];
    if( p_arr.indexOf(print_colour) != -1 ) rtn = true;
}
Run Code Online (Sandbox Code Playgroud)

javascript internet-explorer-8 internet-explorer-7

15
推荐指数
1
解决办法
4222
查看次数

Wordpress Woocommerce - 使用WC_Cart类将可变产品添加到购物车

我正在尝试将可变产品添加到Wordpress插件Woocommerce的购物车中.

到目前为止,我已经能够添加单/简单产品:

$woocommerce->cart->add_to_cart( [product_id], [quantity] );
Run Code Online (Sandbox Code Playgroud)

但是,在函数签名中查看WC_Class:

function add_to_cart( $product_id, $quantity = 1, $variation_id = '', $variation = '', $cart_item_data = array() ) {
Run Code Online (Sandbox Code Playgroud)

我们可以清楚地看到函数允许变量_id的输入.

我已尝试过以下行的每个空值和整数组合:

$woocommerce->cart->add_to_cart( 24, 1, 28, null, null ); 
Run Code Online (Sandbox Code Playgroud)

等等无济于事.

我也试过自己的hacky方法试图重新创建由Woocommerce自己的产品页面发布的帖子事件,再次没有运气.

<a id="buy_v" href="#">Buy Variable Product !</a>    
<script>    
   $('#buy_v').click(function(e) {
      e.preventDefault();
      addToCartV(24,26,'Red',1);
      return false;
   });    
   function addToCartV(p_id, v_id, c, q) {    
    $.ajax({
      type: 'POST',
      url: '/wp/?product=tee1&add-to-cart=variation&product_id='+p_id,
      data: { 'attribute_colour': c,
              'variation_id':  v_id,
              'quantity':  q,
              'product_id':  p_id},
      success: function(response, textStatus, jqXHR){
            // log a message to the …
Run Code Online (Sandbox Code Playgroud)

php wordpress

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

从C#中的IP获取本地网络上的机器MAC地址

我正在尝试编写一个函数,它将一个IP address参数作为参数并在我的本地网络上查询该机器MAC address.

我已经看到了许多获得本地计算机自己的示例MAC address,但是没有(我发现)似乎在查询本地网络计算机.

我知道这样的任务是可以实现的,因为这种Wake on LAN扫描软件扫描本地IP范围并返回所有机器上的MAC地址/主机名.

谁能告诉我在哪里开始尝试编写一个函数来实现C#中的这个功能?任何帮助,将不胜感激.谢谢

编辑:

根据Marco Mp在下面的评论,使用了ARP表. arp班

c# ip port network-programming mac-address

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

在JavaScript中创建Namespace/Class类型结构的最优雅方式

我试图找到一种方法,它将为我提供最优雅的方式将我的代码包装在Namespace/ Unitlike对象中.例如谷歌地图API var a = Google.Maps.Foo();,我觉得它看起来很干净.

我希望它也包括(如果这是正确的术语)jQuery No Conflict $标志.

到目前为止我很喜欢:

// Top level container for sub objects
var myApp = myApp || {}; 

// An object to be held in myApp     
(function( skillet, $, undefined ) {

    //Private Property
    var isHot = true;

    //Public Property
    skillet.ingredient = "Bacon Strips";

    //Public Method
    skillet.fry = function() {
        var oliveOil;

        addItem( "\t\n Butter \n\t" );
        addItem( oliveOil );
        console.log( "Frying " + skillet.ingredient ); …
Run Code Online (Sandbox Code Playgroud)

javascript jquery closures design-patterns module

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

使用Data Uri作为标记的href

我正在创建一个单个文件HTML5应用程序,其中嵌入了所有图像资源Data Uri.这个应用程序包含一个图像库(花式框),它使用<a>标签作为图像的来源在其弹出窗口中显示,正如许多其他人所做的那样.例如

<li>
  <a href="photos/FL6C2632.jpg">
    <img src="data:image/jpeg;base64,somebase64stringetc014564hkjhkj" />
  </a>
</li>
Run Code Online (Sandbox Code Playgroud)

更换src的属性img与URI将按预期数据标签,但在更换a标签的href同一个base64等同,而不是一个像一些真正的路径没有.

无论如何能够在href属性中使用数据uri而不是现有的物理位置吗?

所以例如(哪个不起作用)

<li>
  <a href="data:image/jpeg;base64,someotherbase64stringetc014564hkjhkj">
    <img src="data:image/jpeg;base64,somebase64stringetc014564hkjhkj" />
  </a>
</li>
Run Code Online (Sandbox Code Playgroud)

jquery html5 href fancybox data-uri

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

Magento将所有产品按"位置"字段排序

我只是想按照它们在后端设置category IDPosition顺序来获取属于某个特定产品的所有产品.

我似乎已经尝试了所有可用的例子无济于事.

我正在使用的基本代码如下(手动加载magento的外部php文件):

// Load Magento
require_once $_SERVER['DOCUMENT_ROOT'] . "/app/Mage.php";
umask(0);
Mage::app();
// set Store ID
$store_id = Mage::app()->getStore()->getStoreId();
// set Cat ID
$cat_id = 345;


$cat = Mage::getModel('catalog/product')->setId(345);

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addCategoryFilter($cat)
    ->addAttributeToSelect("*")
    ->setOrder('name','asc')
    ->load();

foreach($products as $p) {
    var_dump($p->getName());
}
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?

php magento magento-1.7

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

在使用"take"和"skip"之前获取Laravel's Eloquent中的行数

我想查询我的Laravel模型中使用雄辩的,可能需要匹配一些where子句,那么结果takeskip预设号码.

这本身不是问题,但我还需要知道在使用take和skip减少结果集之前在查询中找到的行数 - 所以原始匹配数可能是表中的每一行不使用where子句或使用其中一些子句.

我想做的事情可以通过两次查询来完成,第一次省略" ->take($iDisplayLength)->skip($iDisplayStart)"并计算,但这看起来很麻烦.

有什么想法吗?

$contacts = Contact::where(function($query) use ($request)
{

    if (!empty($request['firstname'])) {
        $query->where(function($query) use ($request)
        {
            $query->where('firstname', 'LIKE', "%{$request['firstname']}%");

        });
    }   

    if (!empty($request['lastname'])) {
        $query->where(function($query) use ($request)
        {
            $query->where('lastname', 'LIKE', "%{$request['lastname']}%");

        });
    }     

})
->take($iDisplayLength)->skip($iDisplayStart)->get();

$iTotalRecords = count($contacts);
Run Code Online (Sandbox Code Playgroud)

php count laravel eloquent

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