Thứ Tư, 15 tháng 8, 2012

làm thế nào để nhommua, cungmua, hotdeal xác định location của thành viên

làm thế nào để nhommua, cungmua, hotdeal xác định location của thành viên:
Giới thiệu:

Các trang deal hiện nay cung cấp deal không chỉ 1 nơi, mà giờ chúng mở rộng ra khắp nhiều nơi chẳng hạn như TPHCM, Hà Nội, Cần Thơ, hoặc Đà Nẵng.

Thay vì phải buộc thành viên chọn nơi ở của mình, để cho việc mua deal hay vouchor dễ dàng hơn, các website như nhommua, cungmua, hoặc hotdeal.... Sẽ tự động xác định location của thành viên từ  địa chỉ IP mà họ vào site, còn nếu các IP đó không thuộc vào các địa điểm nói trên thì các web đó sẽ chuyển hướng user sang location mặc định.


Các bước thực hiện:

Việc các bạn cần làm là tìm ra cho bằng được 1 service để xác định location từ địa chỉ IP của thành viên, cũng có thể là free hoặc 1 database dạng *.dat đầy đủ.

Chú ý: Free service có thể thiếu thông tin và độ đáng tin cập sẽ không bằng 1 số service hoặc database IPToLocation.

Trong bài này mình sẽ hướng dẫn mọi người từng bưới để hoàn thành task này sử dụng: C#.Net, thư viện HttpClient và free service http://freegeoip.net/static/index.html

Để đơn giản mình sẽ sử dụng Console Application

Giới thiệu về lớp HttpClient

HttpClient là 1 HttpClient mới nhất dành cho .Net, Nó cung cấp API mở rộng để có thể truy xuất mọi thứ được truyền tải qua giao thức HTTP, HttpClient là 1 phần của WCF Web API preview 6 và bây giờ nó đã hiện hữu trong thư viện của ASP.NET Web API và trong .Net 4.5, bạn có thể tải nó về sử dụng NuGet, nhưng chúng ta chỉ sử dụng 3 gói sau đây trong ví dụ này:

1. System.Net.Http: Gói NuGet chính gồm lớp cơ bản HttpClient và các lớp liên quan
2. System.Net.Http.Formatting: Hỗ trợ serialization và deserialization và một số các tính năng xây dựng dựa trên System.Net.Http
3. System.Json: hỗ trợ kỹ thuật JsonValue cho việc đọc và sinh các tài liệu JSON.

HttpClient là lớp chính cho việc gửi và nhận HttpRequestMessages và HttpResponseMessages , nếu bạn đã từng sử dụng WebClient hoặc HttpWebRequest thì lớp HttpClient chẳng khác gì, và sau đây là 1 số tính năng nổi bật:

1. Khi 1 instance của HttpClient được tạo ra, chúng ta có thể bắt đầu cấu hình các extensions, set header mặc định, cancel outstanding requests và còn nhiều hơn nữa.
2. Bạn có thể tạo ra bao nhiêu request mà bạn muốn chỉ với 1 khởi tạo HttpClient duy nhất.
3. HttpClients không có gắn với bất kỳ Http máy chủ hay host nào, nên bạn có thể submit bất cứ request nào sử dụng cùng 1 khởi tạo HttpClient.
4. Bạn có thể kế thừa từ HttpClient để tạo ra client đặc biệt cho các site hoặc các mẫu đặc thù.
5. HttpClient sử dụng pattern hướng nhiệm vụ (Task-oriented) cho việc xử lý các request bất đồng bộ.

Bắt đầu với 1 simple console application:
Ở ví dụ này chúng ta sẽ request lên 1 free service để nhận về thông tin location based trên IP của client

using System;
using System.Json;
using System.Net.Http;
 
namespace IPToLocation
{
    /// <summary>     
    /// Sample download list of location's properties from the Free GEO Ip Data sources at http://freegeoip.net     
    /// </summary>     
    internal class Program
    {
        private static string _address = "http://freegeoip.net/json/115.78.237.241";
 
        private static void Main(string[] args)
        {
            // Create an HttpClient instance             
            var client = new HttpClient();
            // Send a request asynchronously continue when complete             
            client.GetAsync(_address).ContinueWith((requestTask) =>
                                                       {
                                                           // Get HTTP response from completed task.                         
                                                           var response = requestTask.Result;
                                                           // Check that response was successful or throw exception                         
                                                           response.EnsureSuccessStatusCode();
                                                           response.Content.ReadAsAsync<JsonObject>().ContinueWith(
                                                               (readTask) =>
                                                                   {
                                                                       var city = readTask.Result["city"];
                                                                       var regionCode = readTask.Result["region_code"];
                                                                       var regionName = readTask.Result["region_name"];
                                                                       var metroCode = readTask.Result["metrocode"];
                                                                       var zipCode = readTask.Result["zipcode"];
                                                                       var longitude = readTask.Result["longitude"];
                                                                       var latitude = readTask.Result["latitude"];
                                                                       var countryCode = readTask.Result["country_code"];
                                                                       var ip = readTask.Result["ip"];
                                                                       var countryName = readTask.Result["country_name"];
                                                                       Console.WriteLine(city);
                                                                   });
                                                       });
            Console.WriteLine("Press Enter to exit...");
            Console.ReadLine();
        }
    }
}

HttpResponseMessage chứa tất cả các response bao gồm: status code, header, và bất kỳ nội dụng nào, Body hay còn gọi là nội dung được gói gọn trong HttpContent, nó chưa content header chẳng hạn như Content-Type, Content-Encoding….cũng như là nội dung thực của nó. Nội dung có thể được đọc với bất kỳ phương thức ReadAS* nào phụ thuộc vào việc bạn muốn sử dụng data như thế nào. Ví dụ trên chúng ta đọc Content dạng Json, rất dễ dàng cho việc chọn và lấy dữ liệu.


Thông tin thêm về HttpClienet các bạn xem ơn đây: http://blogs.msdn.com/b/henrikn/archive/2012/02/11/httpclient-is-here.aspx

http://support.microsoft.com/kb/2695606/vi-vn
http://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee
 

HttpClientDemo.rar (699,27 kb)

Thứ Tư, 8 tháng 8, 2012

Canon PowerShot 510 HS xách tay cần bán

Người nhà mới mang về cái máy chụp hình mới nhất của Canon, nay cần bán lại



Thông tin chi tiết:
+ Độ phân giải : 12.1 Megapixels
+ Cảm biến : 1/2.3" back-illuminated CMOS
+ Zoom quang : 12x (28 -336mm)
+ Zoom kĩ thuật số : 4x
+ Định dạng tập tin : JPEG (EXIF 2.2), AVI
+ ISO : Tự động, ISO 100 / 200 / 400 / 800 / 1600 / 3200 (khi ở chế độ P) 
+ Màn hình LCD : 3.2" TFT (461.000 pixels)
+ Thẻ nhớ: SD, SDHC, SDXC
+ Quay phim: FULL HD 1080, 1280 x 720, 640 x 480, 30fps/30fps(LP)
+ Chế độ tự động chụp: 2 hay 10 giây
+ Khẩu độ: F2.0 – F5.3
+ Tốc độ chụp nhanh nhất: 1 - 1/4000 giây, 15-1/4000 giây

+ Phạm vi đèn flash: 30cm - 3,1m (W), 1,0 - 1,7m (T)
+ Canh nét gần: 3 cm
+ Chống mắt đỏ, chống rung quang học, chế độ nhận dạng khuôn mặt
+ Chuẩn kết nối : USB 2.0/Video/HDMI 
+ Nguồn: pin sạc Li-ion Battery NB-9L(170 tấm) 
+ Kích thước : 99,0 x 58,9 x 21,9 mm
+ Trọng lượng : 206g


Đặc điểm nổi bật:
Hệ thống HS System giúp chụp những tấm ảnh ban đêm rất rỏ nét
Màn hình cảm ứng đa chạm, chụp hình chỉ bằng 1 cái chạm
Quay film Full HS
Thẻ nhớ 16G tha hồ chụp hình lẫn quay flim
Siêu Zoom
.................

Thông tin về máy: mọi người tham khảo tại:
http://www.canon.co.uk/For_Home/Prod...S/IXUS_510_HS/

http://www.pcworld.com.vn/articles/s...en-ke-tu-16-4/

http://www.vatgia.com/319/1735372/ca...s-ixy-51s.html

Giá hiện tại trên 1 số website là gần 6trieu (chưa kèm thẻ nhớ)
Giá bán tại thảo nhiên là 6tr nhé:
http://sanphammoi.canbannhanh.com/ca...s-P382034.aspx

Mình cần bán gấp với giá: 5tr8 (kèm thẻ nhớ 16G)
Hàng xách tay có hóa hơn bên US và Phiếu bảo hành Canon
Màu: Trắng

Liên hệ: Quách Nguyên 0919..123.960
Địa Chỉ: 247 Lê Niệm, Phú Thạnh, Tân Phú HCM

Call hay SMS vô tư
(thank ae đã quan tâm, đá qua đá lại, trả lễ hậu hỷ cho ae)